【安全】DVWA靶场渗透
- 备注
- 一、环境搭建
- 二、弱口令(Brute Force)
- 三、命令注入(Command Injection)
- 四、CSRF(Cross Site Request Forgery)
- 五、文件包含(File Inclusion)
- 六、文件上传(File Upload)
- 七、
备注
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是没有配置数据的,直接点登录就可以进入
然后点击Create/Reset Database稍等网页就会自己刷新回到登录界面,这个时候数据库已经创建好了,需要使用dvwa的默认账号admin密码password登录
登录后来到了靶场首页可以开始各个漏洞的练习了
并且可以在DVWA Security页面配置漏洞的困难度:Low、Medium、High、Impassable,Impassable基本就是不存在漏洞的情况,可以View Source查看源代码作为修复方法的参考。
很多题目的解法都不唯一,可能存在多种类型的漏洞,但是我们打靶是为了专项专练,只考虑标题的利用方式。
二、弱口令(Brute Force)
首先是Brute Force爆破练习,使用burpsuite抓包, 发现get请求中有username和password两个参数,其中username在low级别下已经出为admin,将数据包发到intruder模块进行爆破
将password参数add为要爆破的位置,然后随便找个弱口令字典加载到payload中,开始爆破
按照回包的长度排序,会发现payload为password的回包长度与其他payload不一样
输入之后提示我们进入了admin的空间,成功了
三、命令注入(Command Injection)
命令注入页面让我们提供一个ip地址进行ping命令,输入127.0.0.1发现确实可以执行ping命令
尝试使用分号;拼接一个ls命令,ls命令成功执行显示了本地文件,如果我们执行反弹shell的命令就可以getshell了
四、CSRF(Cross Site Request Forgery)
在CSRF漏洞这个题目中我们看到一个修改密码的功能,我们先尝试修改密码
用burpsuite抓个包,发现修改密码操作是通过GET请求明文传递的,如果是burpsuitep专业版可以直接右键创建一个csrf的poc
由于我使用的社区版无法自动生成poc就自己写一个吧,写好的网页也应该放到公网服务器上诱导用户访问,这里就用本地协议代替一下,然后自己来当作被诱骗的用户访问这个网页(不可以关闭dvwa的页面)
访问之后网页自动跳转回了dvwa并显示密码修改,说明csrf利用成功(这里是真的把密码修改了,实验后记得要把密码改回去,不然下次登录容易忘记密码)
五、文件包含(File Inclusion)
文件包含漏洞页面提供了三个php文件,访问方式是通过get参数传入文件名
直接尝试用…/遍历/etc/password文件,由于不知道网页的目录结构,需要多试几次每次多加一个…/
六、文件上传(File Upload)
看到上传文件的功能,直接写个一句话木马上传,会返回上传文件的路径(上传时杀软可能会报毒,我们自己写的木马可以放心执行)