SuperAPI AI 工具集

file-upload-methodology

安全与审计

查看项目

更新于 10-16 04:40

技能介绍

用途

该技能用于任意文件上传漏洞的检测、绕过和利用。当目标具有上传功能(头像、附件、导入)、multipart 表单或文件管理接口时使用。

主要能力

技能内容按阶段组织,覆盖以下能力:

  • 上传功能发现与分析:寻找 <form enctype="multipart/form-data"> 或 <input type="file">;常见端点包括 /upload、/api/upload、/avatar、/import;收集允许的文件类型、上传后存储路径、服务器技术栈(PHP/Java/Python)。提示前端 JS 验证可直接绕过,真正的限制在后端。
  • 基础上传测试:先上传正常文件(.txt)确认功能正常并记录返回的文件路径;访问上传的文件 URL 确认可访问;上传 .php 文件观察是否被拒绝;路径猜解包括 /uploads/、/upload/、/files/、/static/uploads/、/images/。
  • 绕过决策树:针对扩展名限制(黑名单)可使用 .phtml/.php5/大小写/.php./双写;针对扩展名限制(白名单)可使用 .htaccess 覆盖(Apache)或 .user.ini(通用);针对 Content-Type 限制可改为 image/jpeg;针对文件头检查可使用 GIF89a + webshell;针对二次渲染检查可使用图片马(GIF 优先);三层都限制时可组合绕过:扩展名 + Content-Type + 文件头。
  • Webshell Payload:PHP 示例 <?php system($_GET['cmd']); ?>,精简版(绕过关键字)<?=$_GET[1]?>;JSP 示例 <%Runtime.getRuntime().exec(request.getParameter("cmd"));%>;ASP 示例 <%eval request("cmd")%>。上传后验证示例:http://target/uploads/shell.php?cmd=id。
  • .htaccess 攻击:两步法,先上传 .htaccess 配置 PHP 解析规则,再上传 shell.jpg。

使用方式

技能按 Phase 0 至 Phase 3 的顺序推进:先进行上传功能发现与分析,再进行基础上传测试,然后依据绕过决策树选择绕过方式,最后构造 Webshell Payload 并验证。深入参考(扩展名/Content-Type/Magic Bytes 绕过详解、路径穿越、.htaccess 覆盖、.user.ini 利用、图片马二次渲染绕过、ZIP 解压利用)指向 references/upload-bypass.md。

适用场景

目标存在上传功能(头像、附件、导入)、multipart 表单或文件管理接口时。

限制与注意事项

  • 上传成功 ≠ 可利用:必须访问验证执行。
  • 服务端可能 hash 重命名:从响应中获取新文件名。
  • 记录每次尝试的扩展名和响应,快速排除无效绕过。
  • 访问 .php 返回源代码说明该目录禁止执行,需要路径穿越或 .htaccess。
  • 上传≠执行,需确认文件可被访问和解析,可配合文件包含(LFI)等其他漏洞执行上传的 webshell。

关于该技能的收费、价格、平台支持范围等信息,资料中暂未提供。