sqlmap绕过waf注入
时间: 2023-06-26 20:08:54 浏览: 72
SQLMap是一款常用的SQL注入工具,但是在一些情况下,可能会被Web应用程序防火墙(WAF)检测到并且阻止进一步的注入攻击。下面是一些绕过WAF的SQLMap注入技巧:
1. 修改HTTP头部
在SQLMap中使用`--headers`选项来修改HTTP头部,例如:
```
sqlmap -u "http://example.com?id=1" --headers="User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
```
这将向请求添加一个自定义的User-Agent头部,从而绕过WAF的检测。
2. 使用代理
使用代理服务器时,WAF通常无法检测到SQL注入攻击,因为它只能检测来自客户端的请求。在SQLMap中使用`--proxy`选项来指定代理服务器,例如:
```
sqlmap -u "http://example.com?id=1" --proxy=http://127.0.0.1:8080
```
这将使用本地代理服务器进行注入攻击。
3. 使用多个随机User-Agent头部
使用多个随机的User-Agent头部可以使WAF难以检测到SQL注入攻击。在SQLMap中使用`--random-agent`选项来随机生成User-Agent头部,例如:
```
sqlmap -u "http://example.com?id=1" --random-agent
```
这将在每个请求中使用随机生成的User-Agent头部。
4. 使用不同的HTTP方法
WAF通常只检测常见的HTTP方法,如GET和POST。在SQLMap中使用`--method`选项来指定不同的HTTP方法,例如:
```
sqlmap -u "http://example.com?id=1" --method=PUT
```
这将使用PUT方法进行注入攻击,从而绕过WAF的检测。
5. 使用Tamper脚本
Tamper脚本是SQLMap的一个功能,可以修改SQL注入的请求和响应。在SQLMap中使用`--tamper`选项来指定Tamper脚本,例如:
```
sqlmap -u "http://example.com?id=1" --tamper=space2comment
```
这将使用space2comment Tamper脚本,将空格转换为注释,从而绕过WAF的检测。
总之,以上这些技巧并不一定都能够成功绕过WAF的检测,要根据具体情况选择合适的方法。同时,为了避免被WAF检测到,也可以使用其他工具或手动注入的方式来进行攻击。