SuperAPI AI 工具集

java-serialization-audit

编程与开发

查看项目

更新于 10-16 08:08

技能介绍

用途:在 Java 源码白盒审计中判断反序列化、XXE、SSTI 三类漏洞是否成立,聚焦源码层面的入口确认、数据来源追踪、Gadget 链评估、XML 解析器安全配置验证与模板渲染上下文检查。构造 payload、远程利用等运行时黑盒技术不属于本技能范畴。

主要能力:

  1. Java 反序列化:识别 ObjectInputStream.readObject()/readUnshared()、XMLDecoder.readObject() 及自定义 readObject/readResolve/readExternal 入口;追踪 HTTP body(魔术字节 AC ED 00 05 或 Base64 rO0AB)、RMI/JMX、JMS、Redis/Memcached、文件、ViewState、Cookie/Session 等来源;检查 pom.xml/build.gradle 与 classpath 中 commons-collections、commons-beanutils、spring-core、Groovy、hibernate-core 等 Gadget 依赖及版本;验证 JEP 290 ObjectInputFilter、白名单/黑名单、SerialKiller/NotSoSerial、resolveClass 重写等防御。
  2. XXE:覆盖 DocumentBuilderFactory、SAXParserFactory、XMLInputFactory、TransformerFactory、SchemaFactory 五类解析器的安全 Feature 配置检查,分析 XML 输入来源与回显方式(直接、盲注、OOB),并关注 jar:、netdoc: 等 Java 特有协议。
  3. SSTI:检查 Velocity.evaluate、FreeMarker Template 编译、Thymeleaf 视图名拼接导致的 ${expr} 预处理表达式注入;验证模板白名单、TemplateClassResolver.ALLOWS_NOTHING_RESOLVER、SecureUberspector 等安全模式。

使用方式:技能触发后按检测清单逐项审查调用点、数据来源、依赖版本与防御机制,严重度评分使用与 pipeline 一致的统一公式。详细危险/安全模式代码对比、Gadget 依赖表与证据示例见 references/serialization-patterns.md。

限制:仅做源码审计判断,不负责 exploit 构造与远程利用;具体安装与调用命令资料暂未提供。