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

【教程】DVWA靶场渗透

【教程】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是没有配置数据的,直接点登录就可以进入
dvwa
然后点击Create/Reset Database稍等网页就会自己刷新回到登录界面,这个时候数据库已经创建好了,需要使用dvwa的默认账号admin密码password登录
setup
登录后来到了靶场首页可以开始各个漏洞的练习了Home
并且可以在DVWA Security页面配置漏洞的困难度:Low、Medium、High、Impassable,Impassable基本就是不存在漏洞的情况,可以View Source查看源代码作为修复方法的参考。
很多题目的解法都不唯一,可能存在多种类型的漏洞,但是我们打靶是为了专项专练,只考虑标题的利用方式。

二、弱口令(Brute Force)

首先是Brute Force爆破练习,使用burpsuite抓包, 发现get请求中有username和password两个参数,其中username在low级别下已经出为admin,将数据包发到intruder模块进行爆破
Brute Force
将password参数add为要爆破的位置,然后随便找个弱口令字典加载到payload中,开始爆破
intruder
按照回包的长度排序,会发现payload为password的回包长度与其他payload不一样
password
输入之后提示我们进入了admin的空间,成功了admin

三、命令注入(Command Injection)

命令注入页面让我们提供一个ip地址进行ping命令,输入127.0.0.1发现确实可以执行ping命令Command Injection
尝试使用分号;拼接一个ls命令,ls命令成功执行显示了本地文件,如果我们执行反弹shell的命令就可以getshell了
ls

四、CSRF(Cross Site Request Forgery)

在CSRF漏洞这个题目中我们看到一个修改密码的功能,CSRF
这里我们用burpsuite抓个包,发现修改密码操作是通过GET请求明文传递的,如果是burpsuitep专业版可以直接右键创建一个csrf的poc
generate
由于我使用的社区版无法自动生成poc就自己写一个吧,写好的网页也应该放到公网服务器上诱导用户访问,这里就用本地协议代替一下,然后自己来当作被诱骗的用户访问这个网页(不可以关闭dvwa的页面)poc
访问之后网页自动跳转回了dvwa并显示密码修改,说明csrf利用成功(这里是真的把密码修改了,实验后记得要把密码改回去,不然下次登录容易忘记密码)
changed

五、文件包含(File Inclusion)

六、文件上传(File Upload)

七、

http://www.xdnf.cn/news/37333.html

相关文章:

  • 使用Service对外发布集群中的应用程序
  • 树莓派超全系列教程文档--(34)树莓派配置GPIO
  • 实战交易策略 篇十六:猎豹阿杜打板交易策略
  • 【生态与未来】立足原生仓颉:Cangjie Magic 的生态位与未来发展潜力分析
  • vue2技术练习-开发了一个宠物相关的前端静态商城网站-宠物商城网站
  • 原生localStorage到zustand + persist改造
  • Redis--主从复制
  • 驼峰命名法
  • PHP 8 中的 Swow:高性能纯协程网络通信引擎
  • 每日定投40刀BTC(14)20250409 - 20250419
  • 用sed替换文本 笔记250419
  • Java数据结构——ArrayList
  • OpenBMC开发之obmc-ikvm与libvncserver的连理关系
  • 相关性及P值计算过程
  • 指针函数和函数指针
  • Linux系统编程 day6 进程间通信mmap
  • 单片机AIN0、AIN1引脚功能
  • PyTorch `flatten()` 和 `squeeze()` 区别
  • 专题十六:虚拟路由冗余协议——VRRP
  • 记一次Utuntu装完无法联网问题
  • 事件冒泡与捕获
  • 【愚公系列】《Python网络爬虫从入门到精通》055-Scrapy_Redis分布式爬虫(安装Redis数据库)
  • JSAPI2.1-DOM基础
  • 使用Service发布前后端应用程序
  • 软件测试行业核心知识点的系统化梳理
  • 【Matlab】中国沿岸潮滩宽度和坡度分布
  • 2025年KBS SCI1区TOP:增强天鹰算法EBAO,深度解析+性能实测
  • 【数据结构_11】二叉树(3)
  • NestJS——使用TypeORM连接MySQL数据库(Docker拉取镜像、多环境适配)
  • 【大模型】 LangChain框架 -LangChain实现问答系统