当前位置: 首页 > news >正文

了解一个安全漏洞丨文件上传漏洞

概述

文件上传功能本身不是漏洞,漏洞在于对用户上传文件的内容、类型、大小、存储位置、访问方式缺乏足够的安全校验

常见后果

Webshell 植入:上传脚本文件,远程执行系统命令,彻底控制服务器。

钓鱼/挂马:上传 HTML/JS 文件,对访问者进行钓鱼或植入恶意代码。

存储型 XSS:上传包含恶意脚本的 SVG、HTML 等,触发跨站脚本攻击。

服务器资源耗尽:上传超大文件或压缩炸弹(zip bomb),造成拒绝服务。

覆盖关键文件:结合路径穿越,覆盖系统配置文件或计划任务,实现提权或持久化。

常见检查点

前端JS校验

在上传前用 JavaScript 校验文件扩展名、大小,不合法就阻止表单提交。

绕过方法:

若只依靠前端JS,则可以抓包直接发送恶意文件,从而绕过前端校验。

Content-Type校验

后端读取 HTTP 请求头中Content-Type字段,判断是否为允许的类型。(如image/jpeg)

绕过方法:

同样可以抓包绕过,将Content-Type修改成允许的类型即可

文件扩展名校验
黑名单

这是最容易被绕过的校验之一。黑名单机制是列出不允许的扩展名,但名单很难全面覆盖。

绕过方法:

主要通过黑名单漏过的禁用通过。比如大小写(Windows不区分,Linux区分)、双扩展名、特殊后缀(.pht、.php3等等)、末尾加点或者空格、空字节截断(适用早期PHP)

白名单

白名单本是最安全的后缀管控方式,但若仅单纯校验后缀,而服务器存在“解析漏洞”,依然会沦陷。

白名单的绕过配合解析漏洞实现

Apache .htaccess覆盖:上传.htacccess文件,内容为"AddType application/x-httpd-php.jpg",使该目录下所有.jpg文件都当做PHP文件执行。

Apache位置扩展名解析:碰到不识别的扩展名,Apache 可能从右往左查找已知类型。

......

文件头校验

读取文件最开头的几个字节,与预定义的签名比较,判断真实类型。

若后端通过读取文件前几个字节来验证类型,可以在 Webshell 代码前附加合法文件头。这样既通过文件头检查,又保留了可执行内容。

文件内容校验

这是更深的防线,检查文件内容本身是否包含恶意代码。

常见:基于正则/关键字匹配、杀毒软件扫描、二次渲染

对于绕过二次渲染,可以在不破坏原始图像数据区域的前提下,将恶意代码隐藏在注释段或未被处理的数据块中,确保重渲染后依然存在

存储路径与访问控制
路径穿越

如果后端将用户上传的用户名直接拼入存储路径,则攻击者可用../来跳出预定目录

存储位置

若在Web根目录内:攻击者直接通过URL访问,一旦执行条件具备就被拿下

若在Web根目录外:无法通过 URL 直接访问,必须由专门脚本读取并输出。这能极大降低风险

其他绕过方式

压缩包上传绕过

上传恶意的包.zip、.tar,服务器自动解压后恶意文件就完成落地。如果解压逻辑没有对目录穿越(../)进行过滤,则可以安装到任意目录。

XML实体注入

上传 SVG 或 XLSX 等 XML 结构文件,若解析器未禁用外部实体,可导致 SSRF、文件读取等。

典型的SVG注入:

<?xml version="1.0"?> <!DOCTYPE foo [<!ENTITY xxe SYSTEM "file:///etc/passwd">]> <svg>&xxe;</svg>

无文件Webshell

上传配置文件(如 Nginx 配置、.htaccess),配合内存马技术,不落地脚本文件也能维持控制。

http://www.zskr.cn/news/1504793.html

相关文章:

  • 地下水非饱和带模拟工具:基于SimPEG的Richards方程正演与参数反演Python实现
  • Python通达信数据接口完整指南:免费获取A股行情与财务数据的终极解决方案
  • 如何快速掌握百度网盘秒传技术:新手用户的完整操作指南
  • **智慧校园哑终端监控:摄像头、门禁、信息屏的统一管理实践**
  • PVNet轻量实现包:开箱即用的6DoF姿态估计训练与部署工具集
  • Open-Lyrics:终极AI音频转字幕工具,让外语内容秒懂
  • 2026贵阳贵金属回收黄金回收白银回收铂金回收店铺怎么挑?5 家不压价线下实体店完整测评清单 + 商家联络方式 - 信誉隆金银铂奢回收
  • 从PWN5看格式化字符串:除了改GOT,我们还能怎么玩?(附三种实战思路)
  • 2026晋中全城高金价回收黄金回收店铺盘点 TOP 铂金白银旧料回收正规门店联系方式全收录 - 中业金奢再生回收中心
  • PCA8530 LCD驱动芯片级联配置与同步技术详解
  • 087、ISP 硬件加速器架构:DMA、图像信号链的硬件模块化与可配置性
  • 数据的加密与解密(15:41)
  • 2026 国内别墅大宅私宅设计公司实力推荐排行榜 - 信息热点
  • 2026年安徽工贸职业技术学院复读班报名流程(含招生办电话) - 小张zc
  • 从L1缓存到内存条:SRAM与DRAM的架构选择与性能博弈
  • OpenCore Legacy Patcher终极指南:4步让老旧Mac重获新生
  • 深入解析P89CV51 UART、SPI与PCA模块:从寄存器配置到实战避坑
  • 2026邯郸全城高金价回收黄金回收店铺盘点 TOP 铂金白银旧料回收正规门店联系方式全收录 - 中业金奢再生回收中心
  • 如何用5分钟将单张图片自动转换为专业PSD分层文件?
  • 2026晋城本地人常去黄金回收门店前五整理 黄金回收百业回收铂金回收靠谱实体店联系方式汇总 - 中安检金银铂钻回收
  • 终极免费英雄联盟回放管理工具:ReplayBook完整使用指南
  • 2026年语音识别模块行业:三大核心趋势解读 - 资讯快报
  • Cadence Virtuoso仿真不收敛?别慌,这份Verilog-A模型调试避坑指南帮你搞定
  • 2026安徽贵金属回收黄金回收白银回收铂金回收店铺怎么挑?5 家不压价线下实体店完整测评清单 + 商家联络方式 - 信誉隆金银铂奢回收
  • 洛雪音乐助手:你的全平台音乐聚合神器,告别繁琐切换!
  • IP-guard部署与兼容性实战解析
  • 别再死记硬背了!用Python+NetworkX快速判断欧拉图和哈密顿图(附期末真题解析)
  • NTAG21x NFC标签安全机制深度解析:密码保护与数字签名实战指南
  • 江西宜春周边游景区推荐:天柱峰景区毕业狂欢三重喜 - 奔跑123
  • 金华运动内衣厂家技术拆解 采购选型与供应链全指南 - 奔跑123