SuperAPI AI 工具集

java-file-upload-audit

编程与开发

查看项目

更新于 10-16 05:42

技能介绍

用途:审计 Java Web 项目源码中的文件上传实现,识别上传入口并检测上传相关漏洞(任意文件上传、路径穿越、文件覆盖、Web 根目录可执行等)。

主要能力:识别 ServletFileUpload / DiskFileItemFactory / FileItem / isMultipartContent 与 Spring Boot MultipartFile / transferTo 等实现;标注每个上传点的保存路径、文件名来源与校验策略;检测类型校验缺失、路径穿越、Web 根目录写入、文件覆盖等模式;源码不可用时须用 CFR 反编译并输出反编译文件清单(文件名与位置)。

漏洞编号格式为 {C/H/M/L}-UPLOAD-{序号},严重等级 Score = R × 0.40 + I × 0.35 + C × 0.25,映射 CVSS 3.1:C 为 9.0-10.0,H 为 7.0-8.9,M 为 4.0-6.9,L 为 0.1-3.9。

必要用法:本技能必须在 java-route-mapper 之后执行,基于其路由信息审计;若 route_mapper 输出不存在,建议先运行 Skill(skill="java-route-mapper", args="--project {project_path}")。工作流程分三阶段:快速扫描定位上传代码(如 rg -n "ServletFileUpload|DiskFileItemFactory|FileItem|isMultipartContent" --glob=".java"、rg -n "MultipartFile|transferTo\(" --glob=".java");参数-上传映射分析,判断文件名或保存路径是否可控;当逻辑复杂或参数多层传递时调用 java-route-tracer 补充调用链。反编译调用示例:java -jar {CFR_JAR} /path/to/UploadController.class --outputdir {output_path}/decompiled。报告输出到 {project_name}_audit/file_upload_audit/{route_name}/{project_name}file_upload_audit{timestamp}.md,须严格按 OUTPUT_TEMPLATE.md 模板生成。

适用场景:Java Web 源码安全审计、上传功能红队/蓝队评审、漏洞确认前的可达性与条件分析。

限制:资料暂未提供具体运行环境、依赖版本、安装命令以外的集成方式、误报率与平台兼容性等事实。