致远OA系统存在多个漏洞,包括前台XXE漏洞、后台jdbc注入、H2 jdbc注入导致RCE和后台用户密码重置导致的鉴权绕过。漏洞可能是由于部署时使用的额外服务或插件引起的,以及对H2数据库连接的配置不当导致的。扫描和分析漏洞可使用Joern等工具辅助,但需要熟悉代码进行深入扫描。
本文介绍了Jumpserver系统中的一个漏洞,由于django-simple-captcha组件库泄露随机数种子,再配合Jumpserver使用了错误的随机数方案导致。文章分析了漏洞的成因和影响,并介绍了使用Joern工具分析漏洞的过程。提出了修复方案,即用新种子替代原来的随机数方案。
介绍Joern的基础常见节点结构和特殊语法关系,可结合https://cpg.joern.io/进行更深入的了解。
本文记录了作者使用Joern复现真实漏洞的过程,选择了Java-sec-code的范例代码作为第一部分,并介绍了Springboot Acutators导致命令执行和postgreSQL jdbc反序列化漏洞。作者详细介绍了Joern分析Java代码的方法和防御措施,并详细介绍了这两个漏洞的利用链和修复方法。最后,作者提到了Joern在分析漏洞时的局限性。
前两篇文章介绍了Joern技术和CPG的设计原理和实际表现。作者在研究Joern和Neo4j时遇到问题,因为对OverflowDB、Scala和Cypher不熟悉,相关文档无法解决问题。为了方便查阅,作者记录了Joern和Neo4j的实用语法和范例。
CPG是一种代码属性图,使用图数据库作为载体,如OverflowDB、Neo4J等。Joern使用CPG存储代码的节点关系和属性数据,并提供了生成AST、CFG等其他结构的接口。通过Cypher可以查询Joern中的漏洞利用链。
本文介绍了基于CPG的白盒静态扫描工具Joern,使用AST、CFG和PDG等多种结构融合而来的CPG作为处理结构,通过图结构展示代码节点之间的关系,并在此基础上进行分析和检测。Joern具有通用性和可拓展性,支持复杂的查询语法和数据流分析。文章还介绍了Joern的安装和使用方法,并提供了一些查询示例。
完成下面两步后,将自动完成登录并继续当前操作。