Pikachu Unsafe Fileupload 通关解析

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: Pikachu Unsafe Fileupload 通关解析

前言

Pikachu是一种常见的网络安全训练平台,用于模拟真实世界中的网络和防御场景。它提供了一系列的实验室环境,供安全专业人士、学生和爱好者练习和测试他们的技能。


Pikachu的目的是帮助用户了解和掌握网络的原理和技术,同时提供实践机会来开发和改进网络防御策略。内的网络环境是虚拟的,用户可以通过远程访问来完成各种任务。这些任务可能包括测试、利用、密码破解、网络侦查、恶意软件分析等。


Pikachu提供了多个不同的实验室环境,以满足不同的训练需求。每个实验室环境都有不同的难度级别和目标,用户可以选择适合自己技能水平的实验室来进行训练。平台还提供了一系列的学习材料和指导,以帮助用户理解每个实验室的背景知识和解决方案。


通过在Pikachu进行训练,用户可以提高自己的网络安全技能,了解常见的技术和,并学习如何防御和保护网络。这对于网络管理员、测试人员和安全研究人员来说都是非常有价值的。


总而言之,Pikachu是一个提供实践机会的网络安全训练平台,旨在帮助用户提高网络安全技能和知识。它是一个非常有用的资源,可以帮助用户更好地应对日益增长的网络安全威胁。


介绍

文件上传(File Upload Vulnerability)是一种常见的网络安全,它允许攻击者通过恶意构造的上传请求来上传任意的文件到目标系统。这种通常存在于Web应用程序中,特别是在处理用户上传的文件时。


攻击者可以利用文件上传来进行以下:


1. 执行恶意代码:攻击者可以上传包含恶意代码的文件,例如Webshell或恶意脚本,然后通过执行该文件来获取系统控制权。


2. 存储恶意文件:攻击者可以上传恶意文件到目标系统,如病毒、木马或恶意软件,从而对受感染系统进行。


3. 绕过访问控制:可以通过上传恶意文件来绕过访问控制机制,从而获取对受限资源的访问权限。


为了防止文件上传的利用,开发者和系统管理员应采取以下措施:


1. 文件类型验证:应用程序应对上传的文件进行类型验证,确保只允许上传安全的文件类型,并禁止危险的文件类型如可执行文件或脚本。


2. 文件大小限制:应用程序应限制上传文件的大小,以防止上传过大的文件导致服务器资源耗尽或拒绝服务。


3. 文件名验证:应用程序应对上传的文件名进行验证,确保只允许合法的文件名,防止通过恶意构造文件名来绕过安全措施。


4. 存储目录隔离:应用程序应将上传的文件存储在与应用程序代码和其他敏感文件分离的目录中,以防止攻击者通过上传恶意文件来获取对敏感文件的访问权限。


5. 权限控制:应用程序应实施严格的访问控制机制,确保只有授权的用户能够上传文件,并限制用户对上传文件的访问权限。


6. 安全编码实践:开发人员应遵循安全编码实践,在设计和开发过程中考虑文件上传的安全性,避免直接将用户上传的文件存储在公开可访问的位置。


总之,文件上传是一种常见的网络安全,可以导致上传恶意文件或执行恶意代码。为了防止该的利用,开发者和系统管理员应采取相应的安全措施来保护系统和用户的安全。

一、client check

打开点击选择文件

选择 PHP 时弹窗

前端 JS 验证只需禁用掉 JS 即可

二、MIME type

打开 BurpSuite 抓包修改类型

常见的 MIME 类型
 
超文本标记语言文本 .html、.html:text/html
 
普通文本 .txt: text/plain
 
RTF 文本 .rtf: application/rtf
 
GIF 图形 .gif: image/gif
 
JPEG 图形 .jpeg、.jpg: image/jpeg
 
au 声音文件 .au: audio/basic
 
MIDI 音乐文件 mid、.midi: audio/midi、audio/x-midi
 
RealAudio 音乐文件 .ra、.ram: audio/x-pn-realaudio
 
MPEG 文件 .mpg、.mpeg: video/mpeg
 
AVI 文件 .avi: video/x-msvideo
 
GZIP 文件 .gz: application/x-gzip
 
TAR 文件 .tar: application/x-tar

上传成功

三、getimagesize

getimagesize(string filename)函数是PHP中的一个内置函数,用于获取指定图像文件的尺寸和其他相关信息。

函数参数:

- filename:要获取信息的图像文件的路径或URL。

函数返回值:

- 如果指定的文件是一个有效的图像文件,则返回一个包含图像尺寸和其他信息的关联数组,例如:

 - [0]:图像的宽度(像素)

 - [1]:图像的高度(像素)

 - [2]:图像类型的常量

 - [3]:包含字符串描述的图像类型,如"width=100 height=100"等

 - 'mime':图像的MIME类型

- 如果指定的文件不是一个有效的图像文件,则返回false。

该函数对于获取图像文件的尺寸和类型非常有用,可以在开发中用于动态调整图像大小、验证上传的图像文件等操作。

这一关使用了这个函数对其图像进行了检测

在 Windows 操作系统下可以使用 copy 命令 PHP 与图像文件结合起来

文件上传成功

当然,还可以通关直接伪造头部来实现绕过


相关文章
|
24天前
|
缓存 前端开发 JavaScript
"面试通关秘籍:深度解析浏览器面试必考问题,从重绘回流到事件委托,让你一举拿下前端 Offer!"
【10月更文挑战第23天】在前端开发面试中,浏览器相关知识是必考内容。本文总结了四个常见问题:浏览器渲染机制、重绘与回流、性能优化及事件委托。通过具体示例和对比分析,帮助求职者更好地理解和准备面试。掌握这些知识点,有助于提升面试表现和实际工作能力。
60 1
|
4月前
|
SQL 文字识别 安全
DVWA Insecure CAPTCHA 通关解析
DVWA Insecure CAPTCHA 通关解析
|
4月前
|
SQL 安全 PHP
DVWA File Inclusion 通关解析
DVWA File Inclusion 通关解析
|
4月前
|
存储 安全 Linux
OverTheWire Bandit 通关解析(上)
OverTheWire Bandit 通关解析(上)
|
4月前
|
存储 SQL 安全
DVWA File Upload 通关解析
DVWA File Upload 通关解析
|
4月前
|
存储 Shell Linux
OverTheWire Bandit 通关解析(下)
OverTheWire Bandit 通关解析(下)
|
4月前
|
安全 Linux Shell
OverTheWire Bandit 通关解析(中)
OverTheWire Bandit 通关解析(中)
|
8天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
31 2
|
1月前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
68 0
|
1月前
|
算法 Java 容器
Map - HashSet & HashMap 源码解析
Map - HashSet & HashMap 源码解析
57 0

推荐镜像

更多