💡
原文中文,约9600字,阅读约需23分钟。
📝
内容提要
本文记录了作者使用Joern复现真实漏洞的过程,选择了Java-sec-code的范例代码作为第一部分,并介绍了Springboot Acutators导致命令执行和postgreSQL jdbc反序列化漏洞。作者详细介绍了Joern分析Java代码的方法和防御措施,并详细介绍了这两个漏洞的利用链和修复方法。最后,作者提到了Joern在分析漏洞时的局限性。
🎯
关键要点
- 作者使用Joern复现真实漏洞的过程,选择Java-sec-code的范例代码。
- 介绍了Springboot Acutators导致命令执行和postgreSQL jdbc反序列化漏洞。
- Joern分析Java代码的方法可以选择用代码文件夹或直接分析jar包。
- SpringBoot Actuator是内置的监控管理插件,配置不当可能导致信息泄露。
- Actuator接口配合组件可能导致RCE,防御方法主要是增加鉴权限制。
- Joern在分析漏洞时的局限性,无法读取所有配置文件,尤其是pom.xml。
- PostgreSQL jdbc反序列化漏洞的核心在于jdbc连接链接可控。
- 利用链的构造需要从代码的角度验证漏洞存在,分析postgresql的组件代码。
- Joern的CPG结构中没有执行流概念,节点之间的链接仅为AST指向。
- 修复漏洞的方法是限制获取的类名必须是指定类的子类。
➡️