Agent Skills
返回列表
🔒

不安全文件上传攻防手册

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/upload-insecure-files-lr-47x9 到当前 AI 助手中。

技能介绍

要解决的问题

现代应用几乎都接受用户上传的文件——头像、文档、媒体、压缩包等。一旦服务端校验存在缺陷,这些文件就可能成为入侵的起点。常见的失败点包括:前端白名单可被绕过、后端只检查 Content-Type 或文件头、存储路径可控导致目录穿越、上传后的访问 URL 可预测,以及文件在后续处理环节(如 EXIF 解析、格式转换)被当作代码执行。

技能如何工作

这个 playbook 把上传攻击拆解成一条完整的利用链,每一步都对应实际测试中需要验证的点:

  1. 校验绕过:从前端、网络层、服务端多个角度绕过扩展名、MIME、文件头检查,手法包括大小写变换、多扩展名拼接、空字节截断、Content-Type 伪造、以及利用解析器对扩展名的特殊处理。
  2. 存储路径滥用:操控文件名或上传参数,让文件落到可预测路径、可写目录、甚至跨租户共享的存储位置,为后续访问或覆盖做准备。
  3. 上传后访问:找到文件的公开访问 URL,或利用目录列表、路径猜测、历史文件泄露直接读取或执行已上传的内容。
  4. 解析器利用:针对 IIS、Nginx、Apache 的解析特性构造文件名,如 shell.asp;.jpg 的分号截断、avatar.jpg/.php 的路径信息触发、CVE-2017-15715 的换行符绕过。
  5. 利用链扩展:将上传点与 XSS、XXE、命令注入、路径遍历结合,把一个文件上传放大为跨系统的攻击链。

扩展场景文件(SCENARIOS.md)提供针对特定组件的详细步骤,覆盖 WebLogic CVE-2018-2894、Flink CVE-2020-17518、Tomcat CVE-2017-12615 等已知漏洞的上传利用方式。

适用边界

  • 仅用于授权的安全测试、渗透测试教学和漏洞研究
  • 需要目标应用确实存在文件上传功能
  • 解析器利用部分依赖目标服务器的具体配置和版本
  • 不包含自动化漏洞扫描功能,需要人工结合目标环境判断

使用场景

  • 对授权 Web 应用做渗透测试,需要绕过服务端扩展名与 MIME 校验,上传 WebShell 并验证是否可访问
  • 在红队评估中遇到 IIS 服务器,需构造 `shell.asp;.jpg` 这类文件名触发分号截断解析漏洞
  • 目标系统使用 Nginx+PHP,需上传 `avatar.jpg/.php` 利用 `cgi.fix_pathinfo=1` 触发代码执行
  • 测试文件上传功能时,发现上传的压缩包或 XML 文档会被后端处理,需验证 XXE 或反序列化漏洞

适合人员

  • 渗透测试工程师,需要在授权范围内对文件上传功能进行深度漏洞验证
  • 安全研究员,研究 Web 服务器解析器差异与上传攻击链的组合利用方式
  • 应用安全工程师,在 CI/CD 流程中对文件上传模块进行安全测试
  • 红队成员,需要将文件上传点作为横向移动或持久化的初始突破口