【教程】DVWA靶场渗透

发布于:2025-04-20 ⋅ 阅读:(11) ⋅ 点赞:(0)

备注

2025/04/19 星期六
很久没有做web漏洞了,准备复习一下,那就先从最简单的DVWA靶场开始吧

一、环境搭建

dvwa是是一个PHP编写的场景web漏洞的靶场环境,以前一般都是使用phpstudy来搭建环境,现在可以直接通过docker来启动一个dvwa环境,docker的安装和常用命令可以参考我之前的博客或者自行学习。直接贴出命令:

# 获取
docker pull vulnerables/web-dvwa

# 启动
docker run --rm -it -p 80:80 vulnerables/web-dvwa

然后直接访问自己的ip地址就可以打开dvwa的登录页面,这时的dvwa是没有配置数据的,直接点登录就可以进入
dvwa
然后点击Create/Reset Database稍等网页就会自己刷新回到登录界面,这个时候数据库已经创建好了,需要使用dvwa的默认账号admin密码password登录
setup
登录后来到了靶场首页可以开始各个漏洞的练习了Home
并且可以在DVWA Security页面配置漏洞的困难度:Low、Medium、High、Impassable,Impassable基本就是不存在漏洞的情况,可以View Source查看源代码作为修复方法的参考。
很多题目的解法都不唯一,可能存在多种类型的漏洞,但是我们打靶是为了专项专练,只考虑标题的利用方式。

二、弱口令(Brute Force)

首先是Brute Force爆破练习,使用burpsuite抓包, 发现get请求中有username和password两个参数,其中username在low级别下已经出为admin,将数据包发到intruder模块进行爆破
Brute Force
将password参数add为要爆破的位置,然后随便找个弱口令字典加载到payload中,开始爆破
intruder
按照回包的长度排序,会发现payload为password的回包长度与其他payload不一样
password
输入之后提示我们进入了admin的空间,成功了admin

三、命令注入(Command Injection)

命令注入页面让我们提供一个ip地址进行ping命令,输入127.0.0.1发现确实可以执行ping命令Command Injection
尝试使用分号;拼接一个ls命令,ls命令成功执行显示了本地文件,如果我们执行反弹shell的命令就可以getshell了
ls

四、CSRF(Cross Site Request Forgery)

在CSRF漏洞这个题目中我们看到一个修改密码的功能,CSRF
这里我们用burpsuite抓个包,发现修改密码操作是通过GET请求明文传递的,如果是burpsuitep专业版可以直接右键创建一个csrf的poc
generate
由于我使用的社区版无法自动生成poc就自己写一个吧,写好的网页也应该放到公网服务器上诱导用户访问,这里就用本地协议代替一下,然后自己来当作被诱骗的用户访问这个网页(不可以关闭dvwa的页面)poc
访问之后网页自动跳转回了dvwa并显示密码修改,说明csrf利用成功(这里是真的把密码修改了,实验后记得要把密码改回去,不然下次登录容易忘记密码)
changed

五、文件包含(File Inclusion)

六、文件上传(File Upload)

七、


网站公告

今日签到

点亮在社区的每一天
去签到