文中涉及操作均为模拟环境,仅作为教学演示,切勿用于网络攻击!
B站同步更新
docker部署DVWA
docker search dvwa 搜索镜像

docker pull 镜像名拉取镜像到本地,我这里已经下载过了

docker images查看已经下载的镜像

docker run -it -d -p 80:80 --name dvwa 镜像名
-i 保持标准输入(stdin)打开,允许与容器进行交互
-t 为容器分配一个伪终端(pseudo-TTY),通常用于交互式操作
-d 以“分离模式”(detached mode)运行容器,即容器在后台运行,不会占用当前终端
-p 80:80 将宿主机的端口与容器的端口进行映射。将宿主机的 80 端口映射到容器的 80 端口。这意味着,用户可以通过访问宿主机的 80 端口来访问容器中运行的服务。
--name dvwa 为容器指定一个名称
docker ps -a 查看运行过的容器

docker start dvwa1 启动镜像
docker rm 4a 删除4a开头的容器
·docker ps· 查看正在运行的镜像

访问kali的ip地址即可访问到dvwa
admin/password登录

刚登录需要进行reset database,然后点login就可以登录

暴力破解-low
难度设为low


burpsuite代理
打开burpsuite,设置代理抓包

burp证书
导出burp的证书到浏览器导入

下一步选择导出的路径和文件名即可
在浏览器设置里搜索证书找到证书管理




浏览器导入证书burp才可以抓到数据包
burp抓包
我用的这个浏览器代理插件



浏览器设置代理127.0.0.1:8080,流量就会走到burp监听的8080从而抓到流量

右键这个数据包发送到爆破组

选中要爆破的参数添加到payload位置

选择集束炸弹模式

添加字典或手动输入


查看返回包长度可以看到有一个和其他都不同,这个就是爆破出来成功登录的


查看源码,这里存在sql注入,没有对输入过滤,没有使用预编译查询

可以使用万能密码进入admin' or '1'='1

medium
跟low一样去爆破就好,源码中只是添加了登录延时的效果,爆破没那么快了,还添加了对输入过滤的函数

high
开启拦截后发送到爆破模块

添加了token验证机制,需要提取token登录
第三个payload用递归提取

右侧边栏设置找到



可以提取到token完成爆破登录

impossible

