代码审计:jar-analyzer 分析漏洞 Apache Commons Text RCE

admin 2023年12月4日01:16:25评论10 views字数 1329阅读4分25秒阅读模式

争取B站每周更新!文章投稿来自uname 。

代码审计:jar-analyzer 分析漏洞 Apache Commons Text RCE

Jar Analyzer 是一个分析 Jar 文件的 GUI 工具:

  • 支持大 Jar 以及批量 Jars 分析

  • 方便地搜索方法之间的调用关系

  • 分析 LDC 指令定位 Jar 中的字符串

  • 一键分析 Spring Controller/Mapping

  • 对于方法字节码和指令的高级分析

  • 一键反编译,优化对内部类的处理

  • 一键生成方法的 CFG 分析结果

  • 一键生成方法的 Stack Frame 分析结果

  • 自定义 SQL 语句进行高级分析

漏洞环境Apache Commons Text

CVE-2022-42889 Apache Commons Text 1.5 <= Apache Commons Text <= 1.9

org.apache.commons.text.lookup.StringLookup 的实例。从 1.5 版到 1.9 版,攻击者可构造恶意文本,使得Apache Commons Text 在解析时执行任意恶意代码。

Apache Commons Text 1.9

使用jar-ayalyzer分析

代码审计:jar-analyzer 分析漏洞 Apache Commons Text RCE

导入后点击start engine。我们知道CVE-2022-42889主要触发点是lookup调用了ScriptEngine的eval方法造成代码执行。

方法一: 在search类别里进行搜索

这里可以得到org.apache.commons.text.lookup$lookup方法调用了scriptEngine.eval。然后key可控, script = keys[1],所以慢慢往上走就可以了。

代码审计:jar-analyzer 分析漏洞 Apache Commons Text RCE

方法二:b站刚发视频如下

代码审计:jar-analyzer 分析漏洞 Apache Commons Text RCE

在call界面,有caller,callee两个界面。caller表示哪个方法调用了lookup方法,callee表示lookup里调用了什么方法。

代码审计:jar-analyzer 分析漏洞 Apache Commons Text RCE

往上来到了StringLookup接口,上面是调用,下面是实现类。

代码审计:jar-analyzer 分析漏洞 Apache Commons Text RCE

也可以在impl里面查看接口的实现类。

代码审计:jar-analyzer 分析漏洞 Apache Commons Text RCE

往上来到了 org.apache.commons.text$StringSubstitutor#resolveVariable, 可以看到都可传。

代码审计:jar-analyzer 分析漏洞 Apache Commons Text RCE

代码审计:jar-analyzer 分析漏洞 Apache Commons Text RCE

org/apache/commons/text/StringSubstitutor#substitute,之间如果有别的调用,慢慢分析也就有很多其他的触发链,但这个好像并没有

代码审计:jar-analyzer 分析漏洞 Apache Commons Text RCE

最后可以看⻅replace调用。

代码审计:jar-analyzer 分析漏洞 Apache Commons Text RCE

都是差不多的处理。

漏洞深度利用参考:https://forum.butian.net/share/1973

Poc

StringSubstitutor stringSubstitutor = StringSubstitutor.createInterpolator();stringSubstitutor.replace("${script:javascript:2 + 2});


参考:

https://lists.apache.org/thread/n2bd4vdsgkqh2tm14l1wyc3jyol7s1om
https://forum.butian.net/share/1973
https://github.com/jar-analyzer/jar-analyzer

代码审计:jar-analyzer 分析漏洞 Apache Commons Text RCE

原文始发于微信公众号(黑伞安全):代码审计:jar-analyzer 分析漏洞 Apache Commons Text RCE

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月4日01:16:25
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   代码审计:jar-analyzer 分析漏洞 Apache Commons Text RCEhttp://cn-sec.com/archives/2264801.html

发表评论

匿名网友 填写信息