一:sqlmap常见选项
目标:至少要选中一个参数
-u URL, --url=URL 目标为 URL (例如. "http://www.site.com/vuln.php?id=1")
-g GOOGLEDORK 将谷歌dork的结果作为目标url
请求:
这些选项可用于指定如何连接到目标URL
--data=DATA 数据字符串通过POST发送
--cookie=COOKIE HTTP Cookie的值
--random-agent 随机选择 HTTP User-Agent 头的值
--proxy=PROXY 使用代理去连接目标URL
--tor 使用匿名网络
--check-tor 检查Tor是否正确使用
注入:
这些选项可用于指定要测试哪些参数,提供自定义注入负载和可选篡改脚本
-p TESTPARAMETER 可测试的参数
--dbms=DBMS 将后端DBMS强制到此值
检测:
这些选项可用于定制检测阶段
--level=LEVEL 执行的测试级别(1-5, 默认 1)
--risk=RISK 执行测试的风险 (1-3, 默认 1)
技术:
这些选项可用于调整特定SQL注入的测试的技术
--technique=TECH SQL注入技术选择 (默认 "BEUSTQ")
枚举:
T这些选项可用于枚举后端数据库管理系统的信息、结构和数据表。此外,还可以运行自己的SQL语句
-a, --all 检索全部
-b, --banner 检索 banner
--current-user 检索当前用户
--current-db 检索当前数据库
--passwords 列出用户密码的hash值
--tables 列出表
--columns 列出字段
--schema 列出DBMS schema
--dump Dump DBMS数据库表的条目
--dump-all Dump 所有DBMS数据库表的条目
-D DB 指定数据库
-T TBL 指定表
-C COL 指定字段
操作系统访问:
这些选项可用于访问后端数据库管理系统底层操作系统
--os-shell 提示为交互式操作系统shell
--os-pwn 提示为OOB外壳,Meterpreter或VNC
通用:
这些选项可用于设置一些通用的工作参数
--batch 永远不要要求用户输入,使用默认行为
--flush-session 刷新当前目标的会话文件
杂项:
--sqlmap-shell 提示输入交互式sqlmap shell
--wizard 初学者的简单向导界面
二:常用命令
1. --purge // 重新扫描(--purge 删除原先对该目标扫描的记录)
2. --tables // 获取表名
3. --dbs // 检测站点包含哪些数据库
4. --current-db // 获取当前的数据库名
5. --current-user // 测当前用户
6. --is-dba // 判断站点的当前用户是否为数据库管理员
7. --batch // 默认确认,不询问你是否输入
8. --search // 后面跟参数 -D -T -C 搜索列(C),表(T)和或数据库名称(D)
9. --threads 10 // 线程,sqlmap线程最高设置为10
10. --level 3 // sqlmap默认测试所有的GET和POST参数,当--level的值大于等于2的时候也会测试HTTP Cookie头
的值,当大于等于3的时候也会测试User-Agent和HTTP Referer头的值。最高为5
11. --risk 3 // 执行测试的风险(0-3,默认为1)risk越高,越慢但是越安全
12. -v // 详细的等级(0-6)
0:只显示Python的回溯,错误和关键消息。
1:显示信息和警告消息。
2:显示调试消息。
3:有效载荷注入。
4:显示HTTP请求。
5:显示HTTP响应头。
6:显示HTTP响应页面的内容
13. --privileges // 查看权限
14. --tamper xx.py,cc.py // 防火墙绕过,后接tamper库中的py文件
15. --method "POST" --data "page=1&id=2" // POST方式提交数据
16. --threads number // 采用多线程 后接线程数
17. --referer "" // 使用referer欺骗
18. --user-agent "" // 自定义user-agent
19. --proxy “目标地址″ // 使用代理注入