DVWA系列之22 low级别上传漏洞

DVWA上传漏洞剖析

大多数的网站通常都会提供文件上传的功能,例如上传图片或是文档等,只要网站允许上传,就有可能存在上传漏洞。上传漏洞与SQL注入相比,其风险更大,***利用上传漏洞的主要目的是将WebShell上传到网站中,从而达到控制网站甚至整个服务器的目的。在看过的很多******实践案例中,上传漏洞和SQL注入都是两种并重的主流***手法。

在DVWA中选择Upload,首先分析low级别的代码:

image

首先站点通过upload参数以POST方式来接收被上传的文件,然后指定文件上传路径为“网站根目录/hackable/uploads”,文件上传到网站之后的名字仍沿用原先的名字。

接下来利用$_FILES变量来获取上传文件的各种信息。$_FILES变量与$_GET、$_POST类似,它专门用于获取上传文件的各种信息。

  • “$_FILES['uploaded']['name']”,用于获取客户端文件的原名称,

  • “$_FILES['uploaded']['tmp_name']”, 用于获取文件被上传后在服务端储存的临时文件名。

语句“move_uploaded_file($_FILES['uploaded']['tmp_name'], $target_path)”表示将上传后的文件移动到变量$target_path所指定的新位置,如果这个函数成功执行,则输出“succesfully uploaded!”,否则输出“Your image was not uploaded”。

可以看出,在low级别中,没有对上传的文件进行任何过滤,因而我们可以直接将php***文件上传到服务器中。比如上传一个名为an75.php的webshell文件,文件上传之后的路径为:http://127.0.0.1/dvwa/hackable/uploads/an75.php

image

<think>好的,用户想了解DVWA文件上传漏洞在低、中、高三个安全级别下的具体操作步骤和绕过技巧。我需要先回忆一下各个级别的安全机制,然后整理对应的步骤和绕过方法。 首先,低安全级别通常没有或只有很基础的防护。可能只是前端验证,比如检查文件扩展名。这时候用户可能需要用Burp Suite截断请求,修改文件类型,或者直接上传带有恶意代码的图片文件。比如把.php文件重命名为.jpg,但服务器可能没有正确验证MIME类型或内容,导致执行恶意代码。 然后是中级,可能会有服务器端的扩展名检查,但可能只是黑名单机制,比如禁止.php,但允许其他如.phtml、.php5等。这时候可以通过更改扩展名来绕过,比如使用.phtml或者利用大小写混淆,如.Php。另外,可能检查Content-Type,所以需要将上传的文件的Content-Type改为image/jpeg等合法类型。 高级别的话,防护更严格,可能结合了扩展名白名单、内容检测,甚至图片二次渲染。这时候需要更复杂的绕过方法,比如利用文件包含漏洞配合图片木马。上传含有恶意代码的图片,再通过文件包含漏洞执行其中的代码。或者使用Exif Tool在图片的元数据中插入PHP代码,或者制作带有恶意代码的GIF,因为GIF的结构可能更容易绕过内容检查。 需要参考用户提供的引用内容,特别是引用[1]提到使用蚁剑工具和文件包含漏洞执行图片木马,引用[3]提到了上传路径和工具使用。可能在高安全级别下,直接上传PHP文件会被拦截,所以需要结合其他漏洞,如文件包含来执行图片中的代码。 整理步骤时,每个级别要分点说明操作步骤和绕过技巧。注意用户提供的引用中有具体的URL示例,比如引用[1]中的利用文件包含漏洞访问上传的图片,这可能在高安全级别中是关键步骤。同时,中级可能涉及到修改Content-Type和扩展名绕过,而低级可能只需要简单的绕过前端验证。 需要确保回答结构清晰,步骤具体,并且引用对应的资料。例如,在高级部分,引用[1]和[3]中的文件包含和蚁剑使用。可能还要注意不同级别的配置方法,如引用[2]提到将安全级别设置为High。 最后,生成相关问题,可能涉及工具使用、其他漏洞组合、防护措施等。确保覆盖用户可能感兴趣的扩展内容。</think>### DVWA文件上传漏洞三个安全级别操作指南 --- #### 一、低安全级别Low) **漏洞特征**:仅前端验证文件扩展名,无服务器端防护 **操作步骤** 1. 直接上传`.php`文件(如`shell.php`) 2. 通过Burp Suite拦截请求,修改`Content-Type`为`image/jpeg` 3. 上传后访问文件路径执行恶意代码 **绕过技巧** - 使用浏览器开发者工具禁用JavaScript绕过前端验证 - 修改文件名后缀为`.php.jpg`(部分系统解析漏洞) - 直接构造原始HTTP请求绕过客户端检查 --- #### 二、中安全级别(Medium) **漏洞特征**:服务端黑名单过滤部分扩展名(如`.php`、`.exe`) **操作步骤** 1. 上传扩展名为`.phtml`、`.php5`的Webshell文件 2. 使用大小写混淆如`.PhP` 3. 修改请求中`Content-Type`为`image/png` **绕过技巧** - 利用空字节截断:`shell.php%00.jpg`(需服务器环境支持) - 添加特殊字符:`shell.php;.jpg` 或 `shell.php .` - 上传`.htaccess`文件覆盖解析规则(需`mod_rewrite`权限) --- #### 三、高安全级别(High) **漏洞特征**:白名单验证(仅允许`.jpg`、`.png`等)+ 内容检测 **操作步骤** 1. 生成图片木马: ```bash exiftool -Comment='<?php system($_GET["cmd"]); ?>' image.jpg ``` 2. 通过文件包含漏洞触发: ```url http://目标地址/vulnerabilities/fi/?page=file:///路径/uploads/image.jpg ``` 3. 使用蚁剑连接包含漏洞URL执行命令[^1][^3] **绕过技巧** - **二次渲染绕过**:制作GIF文件,在未被渲染区域插入恶意代码 - **Exif元数据注入**:通过工具修改图片注释/EXIF字段 - **组合漏洞利用**:配合本地文件包含(LFI)或远程文件包含(RFI) --- #### 引用说明 [^1]: 高级别需结合文件包含漏洞执行图片木马程序 [^2]: 修改安全级别需在DVWA Security模块操作 [^3]: 上传路径通常位于`dvwa/hackable/uploads/` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值