DVWA靶场-SQL Injection(难度低、中、高)-sqlmap自动化漏洞扫描
创始人
2025-01-10 17:05:33
0

DVWA靶场-SQL Injection(难度低、中、高)-sqlmap自动化漏洞扫描

一、环境搭建

1.搭建dvwa靶场环境

此处使用docker容器搭建靶场。使用docker平台即可实现靶场的快速搭建,比较方便。使用docker搜索dvwa镜像:docker search dvwa。
docker搜索dvwa
此处选择第一个镜像文件下载:docker pull citizenstig/dvwa。
下载镜像文件
下载完毕后,可以使用docker images来查看所有的镜像,从中可以找到dvwa。
镜像下载成功
从图中可以看出已经将镜像文件下载到本地,使用以自定义的密码启动mysql服务,并以后台方式运行的方式:docker run --name dvwa -d -p 80:80 -p 3306:3306 -e MYSQL_PASS=“mypass” docker.io/citizenstig/dvwa。
运行容器
截图中可以看到,容器中的80端口映射到本机80端口冲突,是因为本机80端口已被占用,所以端口映射改成”-p 8080:80”,这样就不会有端口冲突。 此处可以选择没有被占用的端口进行映射。
展示正在运行的容器列表及主要信息:docker ps(加上-a参数展示全部容器列表)。
展示容器
浏览器输入本机IP:8080,访问得到dvwa页面,如果访问不成功,重启docker:systemctl restart docker,再运行dvwa:docker start dvwa。
注意:此处setup check处除reCAPTCHA key选项为红色外,其余选项都要为绿色才算成功搭建。第一次登录需要创建数据库,点击“Create/Reset Database”按钮。
靶场搭建成功

2.设置靶场

接下来我们要进入靶场。登录dvwa,默认的用户名密码是:admin/password。
登录界面
登录进来之后页面如下图所示:
首页
我们要先去DVWA Security选项后中调节难度,可调节为low、medium、high以及impossible。先将难度改为low,点击Submit按钮。后续会逐步调高难度。
调节难度

3.寻找目标注入点

调节难度后点击SQL Injection选项,可以看到有个User ID输入框,尝试输入1点击提交。
提交结果
可以看到,提交后,页面给出回显,提交请求的URL变成了 IP:8080/vulnerabilities/sqli/?id=1&Submit=Submit#,这就是我们的目标注入点。

二、安装sqlmap

安装具体步骤可查看https://blog.csdn.net/Z_David_Z/article/details/113278533
此处使用kali自带的sqlmap。打开shell,输入sqlmap -h即可查看sqlmap指令。
sqlmap
图中标示的-u参数是使用中经常使用的一个参数,其后接目标url,即可进行自动注入。

三、使用sqlmap自动化扫描

(一)low级别难度

1.使用 -u参数进行自动注入

sqlmap -u “目标url”

直接-u

在使用-u参数的时候遇到了登录验证的问题,系统重定向到了登录页面,所以此时我们要在使用sqlmap的时候加上cookie参数来授权给sqlmap。

2.添加cookie参数

在浏览器登录访问之后,按F12进入开发者工具,选择Network选项,此时该选项下无数据。
F12开发者工具
刷新页面后,出现文件后单击第一个文件,出现Request Headers后选择Cookie值
查找cookie
右键该值,选择Copy,再粘贴到刚刚的sqlmap命令添加的cookie参数中。

sqlmap -u “目标url” --cookie “站点cookie”

sqlmap添加cookie

3.自动注入

注意:在注入时,会遇到sqlmap频繁询问现象,可以使用--batch参数,这样每次询问自动选择y选项。
sqlmap会对idSubmit两个参数进行自动注入,最终得出参数id可注入,并注入出后台的数据库类型、操作系统和中间件版本。
注入结果

既然存在注入点,那就开始获取数据库名。

sqlmap -u “目标url” --cookie “站点cookie” --dbs

爆数据库名

从图中可以看出有4个数据库,其中information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式。元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。我们可以看下dvwa数据库中有什么表。

sqlmap -u “目标url” --cookie “站点cookie” -D “数据库名” --tables

爆表名

从图中可以看出dvwa数据库中有两张表,我们可以选择其中的users表来看下表的列名。

sqlmap -u “目标url” --cookie “站点cookie” -D “数据库名” --T “表名” --columns

爆列名
users表中共有8列,如果想看表中具体的数据,可以把--columns改为--dump ,这样就会获取这张表中的数据。

sqlmap -u “目标url” --cookie “站点cookie” -D “数据库名” --T “表名” --dump

爆数据
这样我们就获得了dvwa数据库users表里所有的数据,包括账户名和加密存储的账户密码。我们还可以查询指定列的数据。

sqlmap -u “目标url” --cookie “站点cookie” -D “数据库名” --T “表名” --C “列名1”,“列名2” --dump

我们选择查询账户名和密码,由于mysql数据库对密码字段做了哈希,命令执行过程中会询问你是否进行解析,这里选了y。
爆密码
到这里就完成了dvwa靶场中low级别难度的sqlmap自动注入,成功拿到了dvwa数据库的用户名和密码。

(二)medium级别难度

1.调整为medium级别难度

我们先把靶场难度提高到medium级别后,看到原本的输入框变成了下拉选择框,尝试选择1进行提交后有回显,但url无变化,请求方式也由GET变成了POST。
难度升级

2.查找注入点

此时,如果使用之前的命令sqlmap会告诉我们缺少请求字段数据,对于POST请求,发送的数据放在了请求体里,而不是在URL里。
post请求参数

那我们使用--data参数,将post请求中发送的参数按照参数1=值1&参数2=值2的格式放进来。

sqlmap -u “目标url” --data “发送的参数” --cookie “站点cookie”

data参数

最终,注入点查找成功。
注入成功

3.自动注入

其余步骤就如同low级别时一致,只是多了--data参数。

sqlmap -u “目标url” --data “发送的参数” --cookie “站点cookie” --dbs

sqlmap -u “目标url“ --data “发送的参数” --cookie “站点cookie” -D “数据库名” --tables

sqlmap -u “目标url“ --data “发送的参数” --cookie “站点cookie” -D “数据库名” -T “表名” --columns

sqlmap -u “目标url“ --data “发送的参数” --cookie “站点cookie” -D “数据库名” -T “表名” -C “列名1”,“列名2” --dump

(三)high级别难度

1.调整为high级别难度

我们先把靶场难度提高到high级别后,看到的是一个点击链接,点击后弹出以一个带输入框的新页面,在新页面输入1后点击提交,原页面回显内。原页面数据包请求方式为get,弹出的输入页面请求方式为post。
high级别难度

2.查找注入点

输入页面和原页面是不同的url,此时需要用到联合查询命令second-url

sqlmap -u “输入页面url” --data “发送的参数” --second-url “原页面url” --cookie “站点cookie”

second-url
最终,注入点查找成功。

注入点查找成功

3.自动注入

其余步骤就如同medium级别时一致,只是多了--second-url参数。

sqlmap -u “输入页面url” --data “发送的参数” --second-url “原页面url”–cookie “站点cookie” --dbs

sqlmap -u “输入页面url“ --data “发送的参数” --second-url “原页面url” --cookie “站点cookie” -D “数据库名” --tables

sqlmap -u “输入页面url“ --data “发送的参数” --second-url “原页面url” --cookie “站点cookie” -D “数据库名” -T “表名” --columns

sqlmap -u “输入页面url“ --data “发送的参数” --second-url “原页面url” --cookie “站点cookie” -D “数据库名” -T “表名” -C “列名1”,“列名2” --dump

相关内容

热门资讯

透视脚本!wepoker手机版... 透视脚本!wepoker手机版透视脚本,wepoker辅助器免费(透视)本来是有挂1、下载好wepo...
透视软件!德扑圈透视(透视)透... 透视软件!德扑圈透视(透视)透视辅助软件下载(其实是有挂)1、德扑圈透视ai辅助优化,德扑圈透视发牌...
透视好牌!wpk可以作弊吗,(... 透视好牌!wpk可以作弊吗,(WPk)一直有挂(详细辅助)1)wpk可以作弊吗辅助挂:进一步探索wp...
透视好友!wepoker的辅助... 透视好友!wepoker的辅助器,wepoker辅助器安装包定制(透视)竟然真的是有挂1、玩家可以在...
透视免费!德普之星透视辅助软件... 透视免费!德普之星透视辅助软件激活码(透视)app安卓版破解版(本来是有挂);1、上手简单,内置详细...
透视规律!wpk官网下载链接,... 透视规律!wpk官网下载链接,(WPk)果然有挂(详细透视辅助)1、让任何用户在无需wpk官网下载链...
辅助透视!wepoker透视有... 辅助透视!wepoker透视有没有,wepoker免费脚本咨询(透视)果然是有挂;wepoker免费...
透视挂!德普之星透视软件免费入... 透视挂!德普之星透视软件免费入口官网(透视)透视(竟然真的有挂)1、金币登录送、破产送、升级送、活动...
透视中牌率!wepoker私人... 透视中牌率!wepoker私人辅助器,wepoker提高好牌率(透视)其实真的是有挂;暗藏猫腻,小编...
透视黑科技!wpk真的有透视嘛... 透视黑科技!wpk真的有透视嘛,(wpK)果然真的是有挂(详细德州局透视)wpk真的有透视嘛辅助器中...