SuperAPI AI 工具集

java-deserialization-audit

安全与审计

查看项目

更新于 10-16 08:11

技能介绍

用途:审计 Java 项目中的反序列化风险,输出入口可达性、用户可控性、sink、组件/JDK/gadget 条件、可利用性、Burp 请求与 payload。组件版本命中只作为输入证据,不直接判定漏洞成立。触发场景包括审计反序列化 RCE、gadget 链、ysoserial 链或 DESERIALIZE sink,点名 ObjectInputStream/readObject、XMLDecoder、Fastjson、XStream、JDBC、Shiro RememberMe、Log4j/JNDI 等。仅查依赖 CVE、仅提取路由、仅追踪调用链、仅审计 XXE 或 SQL 注入时不触发;XStream/XMLDecoder 归反序列化审计,普通 XML 外部实体归 XXE 审计。

使用方式:若存在 {project_name}_audit/,按顺序读取 route_mapper/、route_tracer/、vuln_report/、cross_analysis/ 前序输出;无前序输出时先命令扫描 sink、依赖与入口,再局部追踪输入来源。源码缺失或不一致时按 DECOMPILE_STRATEGY.md 使用 CFR 反编译。不得仅凭 rg --type java 或单一关键词搜索得出“无 sink”;需覆盖 web.xml、Spring 配置、Struts、Servlet/Filter/Listener、MQ、RPC、上传/导入入口,并分别扫描 .java、反编译目录、.class 字符串与关键 jar。命中 XmlUtil.fromXML、JsonUtils.fromJson、SerializeUtil.deserialize、ObjectMessage.getObject 等包装方法时必须追到真实 sink。输出到 {project_name}_audit/deserialization_audit/{project_name}deserialization_audit{YYYYMMDD_HHMMSS}.md,漏洞编号 {C/H/M/L}-DESER-{序号},按 VULNERABILITY_GROUPING.md 聚合。Payload 仅用于授权测试,优先 DNS OOB、id、whoami 等低破坏验证,标注组件/JDK 版本、是否出网、鉴权与 gadget 情况,不生成删除文件、持久化、横向移动类 payload。

限制:漏洞成立至少需存在 sink、不可信输入、入口可达、组件/JDK/gadget 条件满足,并给出安全验证思路与可复制请求;必须记录不可利用原因,如不可达、输入不可控、类型白名单、禁用 autoType、版本不满足、无 gadget、无出网、仅本地固定文件等。不要把组件 CVE、gadget 依赖或注解/DTO 线索直接判为漏洞。