SQL注入:
我的理解很简单,能代入到数据库查询,且没有过滤,或过滤不严谨,就可以造成SQL注入
演示环境:linux+apache+mysql+php DVWA
首先还是从低级开始...通过代码可以看到id是字符型代入到数据库中查询的,而mysql就有自动转换类型的这个特性.
所以你输入的 1 and 1=1 or 1 and 1=2,他只解析了1....这里如过你吧执行的sql语句输出出来,就会发现#并没有被解析.解决方法:# 的url转码是 %23,用%23替换#就可以了
?
?
成功注入
中级:
?...提交的那个页面代码我没看,不过我想应该是吧输入的id的值保存到session里面,到注入页面里面去使用,有空的可以自己研究研究
代码层面又变成了一个字符型的注入,和GET基本上就没差别了,只是构造语句的地方不一样了而已...这里就不需要转码了哈,他不是走url的,你转码了反而报错
成功注入:完美的操作
?