文中涉及操作均为模拟环境,仅作为教学演示,切勿用于网络攻击!
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完成爆破登录