WAF
web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为web应用提供保护的一款产品。
WAF绕过
- 双写,大小写,替换关键字,编码绕过注入,十六进制编码,Unicode编码,
- 使用注释,普通注释,内联注释,
- 等价函数和命令,符号 and后or可用 &&和||
- 生僻函数
- 特殊符号
双写绕过:less-25 (过滤了or和and)
大小写绕过:less-27(过滤了union和select)
替换关键字:
编码绕过:(URL编码–十六进制编码—unicode编码等)
使用注释:
普通注释:
//在构造得查询语句中插入注释,规避对空格的依赖或关键字识别;#、–+用于终结语句的查询。
内联注释:
相比普通注释,内联注释用的更多,他有一个特性/!/只用在mysql能识别。
select * from /!users/ id=1;
等价命令
有些函数或命令因其关键字被检测出来而无法使用,但是很多情况下可以使用与之等价或相似
的代码替代其使用。
函数或变量
// ,-- , /**/,#,--+,-- ?-,--a
hex()、bin() ==> ascii()
sleep() ==>benchmark()
concat_ws()==>group_concat()
mid()、substr() ==> substring()
@@user ==> user()
@@datadir ==> datadir()