DAY7:SQL注入6-WAF
一、什么是WAF
1. 什么是WAF
2. WAF分类
3. ①WAF工作流程
②三句话概括WAF工作流程
③WAF工作流程内容
二、常见过WAF技巧
1. 常用过WAF技巧(肯定不止十一种)
①转换特征字符大小写
②替换关键字
③利用注释
④利用编码
⑤利用特殊字符代替空格
⑥利用等价函数或者命令
⑦利用特殊符号
⑧利用括号
⑨过滤掉and和or情况下的盲注
⑩白名单绕过
⑪HTTP参数控制
2. 转换特征字符大小写

3. 替换关键字
4. 利用注释绕过
5. 利用编码绕过
(1)URL编码

(2)十六进制编码

(3)Unicode编码(试试下面两个网站)
6. 用特殊字符代替空格

在Windows系统和Linux系统的特殊字符有区别
7. 等价函数与命令
(1)函数或变量

(2)逻辑符号
在url中&符号是拼接参数的,所以使用的时候要用url编码%26

(3)生僻函数
8. 特殊符号

9. 加括号绕过
(1)普通括号

(2)花括号
10. 过滤掉and和or情况下的盲注
11. 白名单绕过
12. HTTP参数控制

三、利用SQLmap过WAF
1. 在SQLmap的tamper目录下有很多过WAF的脚本
2. SQLmap --identify-waf参数 / --check-waf参数
检测是否有WAF/IPS/IDS
python sqlmap.py -u "http://172.26.26.253/Less-1/index.php?id=1" --identify-waf
python sqlmap.py -u "http://172.26.26.253/Less-1/index.php?id=1" --check-waf(较新版本已经废除)
3. SQLmap --tamper参数(可接多个脚本,用逗号分隔)
脚本位置:sqlmap\tamper\
python sqlmap.py -u "http://172.26.26.253/Less-1/index.php?id=1" --tamper=base64encode.py
python sqlmap.py -u "http://172.26.26.253/Less-1/index.php?id=1" --tamper=space2hash.py,modsecurityversioned.py
扩展
关于字符编码的问题
绕过WAF
SQLmap tamper
浙公网安备 33010602011771号