【DVWA】——File Upload(文件上传)

📖 前言:文件上传漏洞是由于对上传文件未作过滤或过滤机制不严(文件后缀或类型),导致恶意用户可以上传脚本文件,通过上传文件可达到控制网站权限的目的。


🕒 1. Low

满足这三个条件,攻击者就能够成功入侵

  • 木马上传成功,未被杀;
  • 知道木马的路径在哪;
  • 上传的木马能正常运行(解析)。

没有任何限制,所以直接上传一句简短代码(一句话木马)即可

<?php @eval($_POST['csb']);
echo "vulnerable";
?>

在这里插入图片描述
在这里插入图片描述

接下来需要用到一款Shell控制工具——中国蚁剑

中国蚁剑是一款开源的跨平台网站管理工具,它主要面向于合法授权的渗透测试安全人员以及进行常规操作的网站管理员。简而言之,中国蚁剑是一款的shell控制端软件。

🔎 中国蚁剑

第一次安装项目需要先初始化,我们解压到下面的文件夹

AntSword-Loader-v4.0.3-win32-x64\antSword-master

初始化完成后打开,首先右键空白处,点击添加数据

在这里插入图片描述
将上传的URL添加进去

http://192.168.31.57:8080/hackable/uploads/webshell.php

在这里插入图片描述

密码就是刚才后门的密码:csb,测试连接成功后即可添加

在这里插入图片描述

双击该URL地址,可以看到起其目录文件信息,随后右键在此处打开终端

在这里插入图片描述

在这里插入图片描述

此时就可以随意输入指令,实现远控了。

🕒 2. Medium

在这里插入图片描述
可以看到,靶场对文件类型做了限制,只允许上传png、jpeg

此时我们可以把一句话木马改为png后缀

在这里插入图片描述

然后使用BP抓包,将文件后缀改成php

在这里插入图片描述

在这里插入图片描述
使用webshell连接同上。


OK,以上就是本期知识点“File Upload(文件上传)”的知识啦~~ ,感谢友友们的阅读。后续还会继续更新,欢迎持续关注哟📌~
💫如果有错误❌,欢迎批评指正呀👀~让我们一起相互进步🚀
🎉如果觉得收获满满,可以点点赞👍支持一下哟~

❗ 转载请注明出处
作者:HinsCoder
博客链接:🔎 作者博客主页

DVWA靶场中,文件上传漏洞的利用是学习渗透测试的重要实践之一。该漏洞的核心在于应用程序未能正确验证用户上传的文件类型或内容,导致攻击者可以上传恶意文件(如WebShell)并执行任意代码。 ### 文件上传漏洞原理 文件上传功能通常用于允许用户将文件传输到服务器,例如头像上传、附件上传等。如果后端未对上传的文件进行严格的检查和过滤,攻击者可以通过构造特定的请求上传包含恶意代码的文件,并通过访问该文件来触发恶意行为[^2]。 ### 漏洞利用方法 1. **绕过前端验证** 前端验证通常使用JavaScript限制文件类型(如仅允许图片格式)。攻击者可以通过浏览器开发者工具禁用JavaScript或直接修改请求数据包来绕过这些限制。 2. **绕过后端验证** 后端可能通过检查文件扩展名、MIME类型或文件内容来阻止非授权文件上传。常见的绕过方式包括: - 使用双扩展名(如 `shell.php.jpg`),某些服务器配置会优先解析第一个扩展名。 - 修改MIME类型为图像类型(如 `image/jpeg`)以欺骗服务器。 - 在图片文件中嵌入PHP代码并使用文件包含漏洞调用它。 3. **上传WebShell** 构造一个简单的PHP WebShell文件,内容如下: ```php <?php if(isset($_REQUEST['cmd'])){ echo "<pre>"; $cmd = ($_REQUEST['cmd']); system($cmd); echo "</pre>"; } ?> ``` 将此文件保存为 `shell.php` 并尝试上传。成功上传后,可以通过访问该文件并传入命令参数(如 `?cmd=ipconfig`)来执行系统命令。 4. **提权与持久化控制** 一旦获得远程代码执行权限,可以进一步下载更高级的WebShell或尝试提权获取更高的系统权限。 ### 实践指南 - **设置DVWA环境** 确保已安装XAMPP或WAMP等本地服务器环境,并配置好DVWA平台。登录DVWA后,进入“File Upload”模块。 - **设置安全等级** DVWA提供了不同级别的安全设置(Low、Medium、High、Impossible)。建议从Low级别开始练习,逐步挑战更高难度。 - **使用Burp Suite抓包分析** 使用Burp Suite拦截上传请求,观察原始HTTP请求结构,尝试修改文件名、MIME类型等字段以绕过服务器检测。 - **日志文件注入** 如果无法直接上传PHP文件,可以尝试将PHP代码写入服务器日志文件(如访问日志),然后通过文件包含漏洞加载并执行它。 - **防御建议** 了解如何防御文件上传漏洞同样重要。最佳实践包括:限制上传目录权限、使用白名单机制验证文件类型、重命名上传文件、禁止脚本执行等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值