可是有的人说对PHP的站如果是GPC魔术转换开启,就会对特殊符号转义,就彻底杜绝了PHP注入。 其实说这话的人没有好好想过,更没有尝试过用万能密码进PHP的后台。 其实GPC魔术转换是否开启对用万能密码进后台一点影响也没有。 如果你用这样的万能密码\’or\’=\’or\’,当然进不去,理由是GPC开启的时候单引号会被转换。 PHP注入时我常用的万能密码是:\’or 1=1/*. 那我们分析一下为什么这可以进后台。 如果sql语句这样写:"SELECT * FROM admin where name=\’".$_POST[\’name\’]."\’and password=\’".$_POST[\’password\’]."\’",那我们在帐号处输入万能密码\’or 1=1/*,密码随便输,sql 语句就成了select * from admin where name=\’’or 1=1/*\’ and password=\’任意字符\’。 /*为mysql的注释符,这样后面的东西就都被注释掉了,也就是为什么密码随便输的原因。 假设GPC转换没有开启,那么请看:where name=\’’or 1=1(*/后面的东西被注释掉了), name=\’’的逻辑值为假,而后面的1=1逻辑值则为真,对于整体就成了假 or 真,最终的逻辑值 还是真,就进后台了。 那么如果GPC转换开启了,就对单引号进行了转换。语句就变成了where name=\’\\’or 1=1,在 看一下和刚才有什么区别,无非是多了个\\。name=\’\\\’与name=\’\’的逻辑值一样,都为假,那1=1 为真,总的sql语句的逻辑值不还是真吗?那有进不去后台的理由吗? 所以总的来说,php网站的万能密码可以这样写:\’or 1=1/*,而GPC转换是否开启对它没有任 何影响! 所以请改变你的想法:存在字符型注入的php网站是可以用万能密码\’or 1=1/*的。
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.zyfx8.cn",如遇到无法解压的请联系管理员!
本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
资源分享吧 » PHP 万能密码
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 织梦模板使用说明
- 你下载的织梦模板并不包括DedeCMS使用授权,根据DedeCMS授权协议,除个人非盈利站点外,均需购买DedeCMS商业使用授权。购买地址: http://www.desdev.cn/service-dedecms.html