Jar Analyzer是一个GUI工具,可用于分析Jar文件。它提供以下功能:
- 支持大Jar文件和批量Jar文件的分析
- 方便搜索方法之间的调用关系
- 分析LDC指令以定位Jar文件中的字符串
- 一键分析Spring Controller/Mapping
- 提供对方法字节码和指令的高级分析
- 一键反编译,并优化对内部类的处理
- 一键生成方法的CFG(控制流图)分析结果
- 一键生成方法的栈帧(Stack Frame)分析结果
- 支持自定义SQL语句进行高级分析
此漏洞环境涉及Apache Commons Text的CVE-2022-42889漏洞,受影响版本为1.5到1.9。该漏洞允许攻击者构造恶意文本,导致Apache Commons Text在解析时执行任意恶意代码。
通过使用Jar Analyzer进行分析,可以快速定位到漏洞触发点。两种方法可用于分析:
- 搜索类别: 在Jar Analyzer中搜索org.apache.commons.text.lookup类,可以发现该类的lookup方法调用了ScriptEngine的eval方法,可通过操纵lookup方法的参数构造恶意文本来触发漏洞。
- 调用关系: 在call界面中,可查看方法调用关系,从调用lookup方法的方法一直追溯到StringLookup接口的实现类,进而分析触发链。
最后,漏洞的深度利用方法可以参考相关资源,如https://forum.butian.net/share/1973。
POC示例:
<code>StringSubstitutor stringSubstitutor = StringSubstitutor.createInterpolator(); stringSubstitutor.replace("${script:javascript:2 + 2}");</code>
参考链接:
- https://lists.apache.org/thread/n2bd4vdsgkqh2tm14l1wyc3jyol7s1om
- https://forum.butian.net/share/1973
- https://github.com/jar-analyzer/jar-analyzer
© 版权声明
THE END
暂无评论内容