发布网友 发布时间:2022-04-30 19:30
共4个回答
懂视网 时间:2022-04-30 23:52
3.浏览器界面显示:
4.重头戏,sql注入:
5.原理--为什么用户名不正确,却可以显示hello?
我可以echo一下:
[php] view plaincopy
显示:
拿到我的mysql数据库中查询:
可以看到,居然能查到信息,因为sql语句中,前一半单引号被闭合,后一半单引号被 “--”给注释掉,中间多了一个永远成立的条件“1=1”,这就造成任何字符都能成功登录的结果。
6.小结:
1)其实这个sql注入过程上很简单,困难的地方在于提交SQL注入语句的灵活性上面,单引号的使用很关键,另外,多用echo打印调试也很值得一试~~
2)GET方式提交表单很危险,所以还是用POST方式吧!
参考:http://blog.csdn.net/gideal_wang/article/details/4316691
3)防止SQL注入:可以看出,sql注入就是用户提交一些非法的字符(如本文的单引号’和sql语句的注释号--,还有反斜杠等),所以要用转义: htmlspecialchars函数,mysql_read_escape_string函数都可以实现。
4)JS段验证表单了,JSP/PHP等后台还要验证码?
---需要,因为friebug可以禁用JS...
--------------------------------------------------------------------------
update:
上面的方法,当password通过md5加密的话,就无法实现注入了,那么就在username上做手脚:
username后面的内容就都被注释掉了。哈哈~
参考:http://newaurora.pixnet.net/blog/post/166231341-sql-injection-%E7%AF%84%E4%BE%8B(%E7%99%BB%E5%85%A5%E7%AF%84%E4%BE%8B)
by wusuopuBUPT
手把手叫你SQL注入攻防(PHP语法)
标签:
热心网友 时间:2022-04-30 21:00
这是服务器端的魔法引号。你可以看看你的magic_quotes_gpc是否开启状态,如果开启了,所有的引号会被自动转义,防止此类SQL注入。追答这个啊~ 攻击的方式有很多,比如那些跟PHP关系不大,比较通用的有DDoS,Flooding,land等等。DDoS是最常用的一种简单暴力的方式。
不过感觉你说的应该是指非法提升权限这样的吧,除了通过网站安全漏洞以外应该没有别的方式了,具体我也不清楚~ SQL注入,暴力破解后台密码应该是比较常用的方式。
热心网友 时间:2022-04-30 22:18
select * from student where identification='abc' and password='aa' or 1='1'追问是问你怎么填
热心网友 时间:2022-04-30 23:52
上面说明$loginname 变量接收已经做过防止SQL攻击d的处理措施了。 所以你怎么试都没有用的。