转义特殊字符(‘或者“)时,因为宽字节占用的字符长度,可以构造语句,从而消灭掉转义字符斜线/
1.以’构造,看页面是否报错 (假设我是不知道这关是宽字节注入)
没有报错
没有报错
这个时候,通过我现在已有的认知我会想是不是被转义了,我会想用宽字节试试
报错了,有很大可能存在注入点
补充:’号前的%df并不是非它不可,只要十六进制值大于80(128),就可以被识别为宽字节。
构造正确的逻辑语句
通过显示查询语句,我们可以看到,程序识别到‘会在’前面加一个转义字符\,来破坏掉‘的功能。这本没有问题,问题出在程序采用宽字节我可以构造字符使得和/一起产生一个宽字节字符,破坏了转义字符/
构造错误的逻辑语句
通过3正常显示页面,4页面报错可得出结论:当前表的字段数为3。
通过结果,可知位置2,3会显示数据
我们选择 security数据库
我们选择users 这张表
通过结果我们发现是’号被过滤了,所以我们需要将表名users转换为hex编码
原文:https://www.cnblogs.com/ceiling-/p/14878138.html