dvwa靶场

一、靶场搭建

(一)docker搭建

docker pull citizenstig/dvwa docker run --name dvwa -d -p 3001:80 citizenstig/dvwa 创建容器(此处将容器重命名了为dvwa) 进入容器: docker exec -it dvwa bash

(二)windows+phpstudy搭建

小皮面板(phpstudy) :https://www.xp.cn/product-download git clone https://github.com/digininja/DVWA.git 修改配置文件,重命名为config.inc.php DVWA\config\config.inc.php 修改密码为mysql密码 root root

访问该地址后,先初始化数据库。点击Create/Reset Database即可

默认用户密码为admin、password

二、WriteUp

(一)、Brute Force 暴力破解

这里的字典自己写个小的吧,太多好慢 admin password

low

启动 burpsuite 开始抓包,然后点击 login,然后在 bp 里面就能看见抓包到的包。这就是我们刚刚输入的账号密码:

2、发送抓到的包到暴力破解bp的Intruder 模块

点击Positions,选择要要爆破的用户和密码,选择attack type为Cluster bomb

点击 payloads 添加字典,先添加第一个用户名字典,再切换成2,添加密码字典:

sniper 精准打击 确定账户

battering ram 爆破时,username和password 以相同的字段进行爆破

pitchfork与cluster bomb 都是交叉爆破,但是pitchfork 对两个字典的最短长度发起相应的匹配

3、然后点击 start attack 开始爆破

4、看回复的字节长度(其余都是5270,成功项长度5329)与响应内容,确定用户与密码分别是admin、password

得出 admin password 或 admin'or''=' 11

mediun

代码:增加了mysql_real_escape_string函数对参数的过滤

用 burpsuite爆破:发现成功破解的字段长度是不同的,能确定用户与密码分别是admin、password。中级的暴力破解相对来说较慢是因为有个sleep函数,在破解失败后会使程序停止运行两秒。

同上,这里过滤掉了admin'or''=' 11 请求的响应变慢了

high

代码:增加了token机制(CSRF)、stripslashes函数实现转义字符(返回一个去除转义反斜线后的字符串(\' 转换为 ' 等等)。双反斜线(\\)被转换为单个反斜线(\))、mysql_real_escape_string函数对参数的过滤

1、抓包,发送到Intruder模块:选择attack type为Pitchfork(因为每次token不同,不能用cluster bomb模式),定义变量 username、password 和 token

2、选择options将线程数设置为1

因为需要顺序发送请求,才能以此获取token,所以设置单线程:

否则攻击报错:

3、设置payload

参数 username、password的payload正常通过load加载,Payload type设置为Simple list,切记:attack type为Pitchfork时,用户名要和密码对应(位置相同,此处都是第三个)

找到Grep-Extract模块进行相应设置: 点击add

复制token对应的value值(e67d80c24c539506024483f58e3a5693),这个值后面会用到:

intruder会自动为我们编写,提取这个位置的值的正则表达式:

参数token设置payload:因为每次爆破的token,需要从上一次的回应中提取,所以payload type选择Recursive grep(表示将服务器每次返回的数据来替换payload中的变量,这里用来每次替换user_token的值),然后将刚才复制token的值粘贴进去:

这样intruder会自动利用正则表达式,从上一次的请求中帮我们提取token的值。

4、攻击:对比返回长度大小与回应数据,找到用户名与密码

impossible

如题,impossible,原因是类似试错五到六个密码时,他会限制你发请求时间,15分,半小时......

有效防御了密码爆破

(二)、Command Injection 命令注入

解决乱码问题:

C:\phpstudy_pro\WWW\DVWA\dvwa\includes\dvwaPage.inc.php

搜素Header( 'Content-Type: text/html;charset=utf-8' );修改utf8为GBK

low

通过逻辑运算符,直接拼接命令 & | linux用 ;

127.0.0.1&echo "" > c:\phpstudy_pro\WWW\s1.php

mediun

127.0.0.1 & echo "" > c:\phpstudy_pro\WWW\ss.php

源码过滤了&& ; 我们采取单&符号方式 或者其他几个没有被过滤的使用

high

排除源码过滤的

使用 &&

127.0.0.1&&echo "" > c:\phpstudy_pro\WWW\s1.php

impossible

对输入进行了分割拼接成ip格式

待续。。。

相关推荐
devmoon3 分钟前
Chopsticks 本地分叉平行链实战指南
安全·智能合约·polkadot·erc-20·独立链
JMchen1235 分钟前
Android网络安全实战:从HTTPS到双向认证
android·经验分享·网络协议·安全·web安全·https·kotlin
科技块儿7 分钟前
如何选择合适的IP查询工具?精准度与更新频率全面分析
网络·tcp/ip·安全
Hi2024021729 分钟前
在Docker容器中安全运行OpenClaw:无需虚拟机,体验AI助手
人工智能·安全·docker·openclaw
种时光的人30 分钟前
CANN 生态 ×AIGC 合规:cann-compliance 让大模型落地既安全又合规
安全·aigc
hzb6666635 分钟前
unictf2026
开发语言·javascript·安全·web安全·php
大模型玩家七七2 小时前
基于语义切分 vs 基于结构切分的实际差异
java·开发语言·数据库·安全·batch
Hello.Reader9 小时前
Flink ZooKeeper HA 实战原理、必配项、Kerberos、安全与稳定性调优
安全·zookeeper·flink
智驱力人工智能10 小时前
小区高空抛物AI实时预警方案 筑牢社区头顶安全的实践 高空抛物检测 高空抛物监控安装教程 高空抛物误报率优化方案 高空抛物监控案例分享
人工智能·深度学习·opencv·算法·安全·yolo·边缘计算
数据与后端架构提升之路10 小时前
论系统安全架构设计及其应用(基于AI大模型项目)
人工智能·安全·系统安全