代码审计 | JavaMeldoy XXE漏洞分析
本文由
创作,已纳入「FreeBuf原创奖励计划」,未授权禁止转载
一、cms简介:
本文是关于JavaMeldoy 组件漏洞分析学习,将围绕XXE漏洞进行分析学习,大纲:
1、环境搭建
2、XXE漏洞分析
二、环境搭建
下载源码,使用idea导入
启动项目
三、XXE漏洞分析
全局搜索关键字XMLInputFactory发现有该方法
根据 commit ,我们确定了漏洞触发点,位于javamelody-
core\src\main\java\net\bull\javamelody\PayloadNameRequestWrapper.java的
parseSoapMethodName方法,我们进入查看,漏洞触发代码在第 234 行到243行,发现这个版本确实没有任何防护
根据代码可以看出,使用了 StAX 的 XMLInputFactory 方式解析 XML,第 237 行获得一个 XMLInputFactory 的实例,最终使用 createXMLStreamReader 解析 XML。
分析完漏洞触发点,下面追踪参数传入流程,双击选中 parseSoapMethodName ,按住快捷键CTRL+ALT+H,可以总览看到函数调用执行层次结构
根据方法调用层次结构我们一步步向上追踪,查看谁调用了parseSoapMethodName 方法,定位到在 PayloadNameRequestWrapper.initialize() 方法中从第 83 到第 104 行,分析得出请求方法为
POST,如果请求头 Content-Type 是application/soap+xml或text/xml且SOAPAction不为 null,则调用执行 parseSoapMethodName 方法,然后执行结果赋值给 name 参数
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
文章目录