前言
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 与图像文件结合起来
文件上传成功
当然,还可以通关直接伪造头部来实现绕过