当前位置: 首页 > news >正文

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

DVWA源码: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格式

待续。。。


http://www.mrgr.cn/news/81148.html

相关文章:

  • springboot+logback学习文档
  • Aec-Library-Website 项目常见问题解决方案
  • LabVIEW手机屏幕耐冲击测试
  • 自动驾驶控制算法-横向误差微分方程LQR前馈控制
  • 排序-冒泡排序
  • Day13 苍穹外卖项目 工作台功能实现、Apache POI、导出数据到Excel表格
  • 《近世代数基础 第二版》思维导图
  • 捋一捋相关性运算,以及DTD和NLP中的应用
  • 汽车IVI中控开发入门及进阶(47):CarPlay开发
  • Linux下Java通过JNI调用C++
  • 004最长回文子串
  • 麒麟V10,arm64,离线安装docker和docker-compose
  • ESP32S3 使用LVGL驱动LCD屏(ST7789主控)
  • jsp-servlet开发
  • 41 stack类与queue类
  • Docker Compose 配置指南
  • CosyVoice安装过程详解
  • 手动修改nginx-rtmp模块,让nginx-rtmp-module支持LLHLS
  • ubuntu22.04安装PaddleX3
  • 项目代码第6讲:UpdownController.cs;理解 工艺/工序 流程、机台信息;前端的“历史 警报/工艺 记录”
  • ShardingSphere(分库分表)
  • 重温设计模式--建造者模式
  • 脚本专题Script
  • Redis分片集群+MQ处理高并发
  • 从零创建一个 Django 项目
  • GIS数据处理/程序/指导,街景百度热力图POI路网建筑物AOI等