1.熟悉的登陆界面
2.想在password输入单引号引起报错,但是发现这题也对特殊字符进行了转义
3.那么之前我们说过了,遇到转义可以直接使用 %df 进行吞掉后面的一个字节,但那是GET方法,GET方法在提交参数时会把参数中带有特殊字符的进行url编码,如果已经编码的就不会再编码了
如下面,我在url地址栏输入的单引号和双引号,在GET方法提交的时候会被自动转为url编码
如果已经是编码过的了就不会再编码
而post 是什么情况呢?跟get又有什么区别呢
可以看到,post提交后也对特殊符号进行了url编码
那么如果我们提交已经编码过的呢?会发生什么
可以看到,post可不管你有没有编码过,直接把 % 给编码成了 %25,也就是说,post提交方式会把所有能编码的字符都进行url编码。
4.那么基于这个,我们就不能直接提交 %df ,而是把%df 解码后再提交。%df解码后是这个 � 符号。在password提交 �' ,发现报错,根据报错知道可以使用单引号闭合。
5.成功注入
6.order by 到3的时候出错,说明查询了两个字段
1,2的位置都有回显
查库名
剩下的不说了,都是常用语法