23(基于错误,过滤注释符号)
过滤注释符,我们将注释符号换为 or ‘1’='1 或者 and ‘1’='1
如果是其他字符类型换符合就行了.
如;or (‘1’)=('1
24(不讨论)
25(过滤了and和or)
双写or或者and绕过,或者大小写绕过
26(过滤了空格注释符和and和or)
%A0替代空格,%A0or%A0(‘1’)=('1或者%A0%26%26%A0(‘1’)=('1替代注释符,双写or或者and绕过,或者大小写绕过
27(过滤了注释符号和union和select)
union和select大小写绕过或者双写,%A0or%A0’1’=‘1或者%A0%26%26%A0’1’='1替代注释符
28(过滤了注释符号和union和select和空格)
union和select大小写绕过或者双写,%A0替代空格,%A0and%A0(‘1’)=('1或者%A0andA0(‘1’)=('1替代注释符
29----单引号正常显注
30----双引号正常显注
31----")正常显注
32—宽字节
输入单引号会被转义
?id=-1%df’ xxxxxxxxxxxxxxxxxx --+
33—宽字节
34—宽字节
35—正常显注
总结:
当注释符被过滤掉时候
可以这样判断
1’ and sleep(5) and ‘1’='1
将注释符号改为 %A0or%A0’1’=‘1或者%A0%26%26%A0’1’='1,从而绕过过滤注释符