Jie 漏洞扫描工具实战:Log4j 与 Fastjson 漏洞检测原理及快速上手指南

📅 2026/8/27 17:24:37
Jie 漏洞扫描工具实战:Log4j 与 Fastjson 漏洞检测原理及快速上手指南
Jie 漏洞扫描工具实战Log4j 与 Fastjson 漏洞检测原理及快速上手指南【免费下载链接】JieJie stands out as a comprehensive security assessment and exploitation tool meticulously crafted for web applications. Its robust suite of features encompasses vulnerability scanning, information gathering, and exploitation, elevating it to an indispensable toolkit for both security professionals and penetration testers. 挖洞辅助工具(漏洞扫描、信息收集)项目地址: https://gitcode.com/gh_mirrors/ji/JieJie是一款专为 Web 应用打造的综合安全评估与漏洞利用工具内置两大 Java 系明星漏洞检测模块——Log4j 漏洞检测与Fastjson 反序列化漏洞检测无需 Java 运行环境即可快速完成版本探测与漏洞确认。本文带你从原理到实战一次搞懂它是怎么挖洞的。为什么 Java 项目要重点盯上 Log4j 和 FastjsonJava Web 应用是内网渗透和挖洞的重点目标而 Log4j 与 Fastjson 恰好是 Java 生态中覆盖面最广、危害最大的两类漏洞漏洞影响范围典型危害Log4jLog4Shell几乎使用 log4j 2.x 的所有 Java 应用JNDI 注入 → 远程代码执行RCEFastjson 反序列化大量国产 Java 后台、SpringBoot 项目反序列化 → 远程代码执行RCEJie 的设计思路正是把这两类漏洞的检测做成独立命令一条命令直接打目标配合 DNS 回显平台确认结果全程无需 Java 环境。Log4j 漏洞检测原理JNDI 注入与 DNS 回显1. 漏洞本质Log4j 2.0–2.14.1 版本支持在日志内容中进行Lookup 解析${jndi:ldap://...}这样的 payload 一旦被记录日志就会触发 JNDI 查询攻击者借此让目标服务器主动回连自己的恶意服务实现远程代码执行。Jie 的检测思路非常直接把 payload 塞进目标会记录日志的位置看自己的 DNS 平台是否收到回连。2. 三组 payload 覆盖三种场景Jie 的 Log4j payload 库定义在 scan/Pocs/pocs_go/log4j/payload.go 中分为三组WAF 绕过组利用${lower:}、${::-j}、${k8s:k5:-J}等 log4j 自身的 Lookup 嵌套解析能力把jndi:ldap://拆解混淆绕过对关键字的 WAF 拦截CVE-2021-45046 组针对官方补丁后仍可利用的场景使用ldap://127.0.0.1#真实回连地址的#号主机重写技巧绕过对目标 host 的检查CVE-2022-42889 组针对 2.17.0 之后禁用 JNDI 的场景利用${url:UTF-8::http://...}语法探测是否存在 DNS 外联风险。3. 70 请求头全覆盖注入日志记录的位置五花八门用户自定义参数只是其中一种。Jie 的 Log4j 模块将 payload 依次写入70 多个常见请求头User-Agent、Referer、X-Forwarded-For、X-Api-Version等完整头列表见 payload.go 中的commonHeaders。这样无论目标把哪个头打进日志都能被检测到。4. DNS 回显确认所有 payload 中的回连地址都指向一个随机生成的 DNS 子域。发送完毕后Jie 通过 pkg/reverse/dig_pm.go 拉取 DNS 查询记录只要平台收到对应随机子域的解析请求即判定目标存在 Log4j 漏洞漏洞等级直接标记为Critical。核心逻辑位于 scan/Pocs/pocs_go/log4j/scan.go。Fastjson 漏洞检测原理五重探测锁定版本Fastjson 版本迭代极快单一检测手法极易误报。Jie 缝合了 scan/PerFile/fastjson/ 模块源自 FastjsonScan 的思路采用多手段交叉验证来精准定位版本区间。1. 报错回显探测Fastjson 解析失败时异常堆栈中往往带着com.alibaba.fastjson...和fastjson-version x.x.x字样。Jie 向目标 POST 一段畸形 JSON用正则直接提取版本号——这是最快、最准的路径。同时还能识别目标实际用的是jackson而非 fastjson避免无效告警见 Detect/detect.go。2. DNS 出网 版本区间探测当报错被吞掉生产环境常见时Jie 切换到DNS 盲测payload 中构造48_、68_、80_三种不同版本的反序列化链目标触发哪条链DNS 平台收到的子域名就对应哪个区间48_→ 版本低于1.2.48高危68_→ 版本介于1.2.48 ~ 1.2.6880_→ 版本介于1.2.69 ~ 1.2.80或1.2.80 以上结合 AutoType 状态区分这正好对应 Fastjson 的三大安全版本节点也决定了后续利用链的选择。3. AutoType 状态检测1.2.25 之后 Fastjson 默认关闭 AutoType。Jie 会额外发送一条带 AutoType 特征的 payload若 DNS 平台收到回连说明目标手动开启了autoTypeSupport配合低版本即为高危组合。4. 依赖库探测通过报错堆栈中的类名Jie 还能顺带摸出目标 classpath 里有哪些 gadget 依赖库如 commons-collections 系列为判断利用链可行性提供情报。5. 延迟探测不出网兜底目标完全不出网时DNS 手段全部失效。Jie 使用响应时间侧信道发送 6 条不同长度的利用链 payload如果多数请求出现可测量的时间差反序列化链被真实执行导致的耗时则判定存在1.2.36 ~ 1.2.62区间的漏洞。快速上手两条命令完成检测Jie 通过 cmd/root.go 注册了独立的log4j与fastjson子命令支持-t单目标或-f目标文件批量检测。Log4j 检测命令Jie log4j -t https://target.com # 指定自定义 DNS 回显平台默认为内置 dig.pm Jie log4j -t https://target.com -h https://你的dnslog平台参数入口见 cmd/log4j.go。结果直接输出到终端与报告回显成功即报 Critical 级别漏洞并附上触发的 payload。Fastjson 检测命令Jie fastjson -t https://target.com/api/xxx入口见 cmd/fastjson.go。注意目标 URL 最好是指向 JSON 接口的具体路径报错回显与版本探测都依赖接口能真实解析 JSON。被动模式下全自动触发如果你把流量通过 Burp 挂到 Jie 的被动代理Security Copilot 模式Fastjson 插件会自动接管所有Content-Type: application/json的请求逐个检测并用sync.Map去重防止重复扫描见 fastjson.go 中的Plugin.Scan。挖洞时正常过一遍站Log4j 模块也会同步对目录级流量做请求头注入测试——真正做到过一遍流量情报和漏洞全到手。扫描结果怎么看Fastjson 模块的最终结论会汇总五个关键字段Utils/struct.go字段含义处置建议Version版本区间48/68/80 以下或以上区间越低优先尝试对应历史 CVE 利用链AutoType是否开启 AutoType开启 低版本 高危直接重点跟进Netout目标是否可出网可出网走 DNS 链不出网走本地链Dependency发现的依赖库决定可用 gadget 链Payload触发 DNS 回连的 payload留作证据与后续利用参考Log4j 的结果更简单收到 DNS 回显 漏洞成立Critical报告里会记录具体是哪个头、哪条 payload 触发的方便你人工复核。总结Jie 如何简化 Java 漏洞挖掘✅Log4j 一键检测三组 payloadWAF 绕过 / CVE-2021-45046 / CVE-2022-42889× 70 请求头 × DNS 回显确认覆盖从经典 Log4Shell 到补丁后残余风险的全场景✅Fastjson 五重探测报错回显 DNS 区间定位 AutoType 状态 依赖库指纹 延迟侧信道把版本不明这个最大痛点变成精确区间结论✅零 Java 依赖Go 编写的单文件工具无需配置 JDK 即可开工✅主动/被动双模式既可以独立命令行点射也可以挂 Burp 被动代理全自动触发。⚠️合规提醒本文内容仅用于授权范围内的安全测试与学习。对未授权目标使用漏洞扫描工具可能触犯法律请确保获得明确书面授权后再操作。如果你想继续深入可以阅读 scan/PerFile/fastjson/README.md 了解 Fastjson 检测模块的设计演进或翻阅 scan/plugins.go 查看 Jie 完整的扫描插件矩阵。【免费下载链接】JieJie stands out as a comprehensive security assessment and exploitation tool meticulously crafted for web applications. Its robust suite of features encompasses vulnerability scanning, information gathering, and exploitation, elevating it to an indispensable toolkit for both security professionals and penetration testers. 挖洞辅助工具(漏洞扫描、信息收集)项目地址: https://gitcode.com/gh_mirrors/ji/Jie创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考