Apache Axis 远程代码执行误差清静通告

宣布时间 2019-04-12

误差编号和级别


CVE编号:CVE-2019-0227,危险级别:高危,CVSS分值:官方未评定


受影响的版本


Apache Axis Version = 1.4


不受影响版本


Apache Axis2 所有版本(现在暂时没有发明Axis2的服务保存外联征象)


误差概述


Apache Axis是美国阿帕奇(Apache)软件基金会的一个开源、基于XML的Web服务架构。该产品包括了Java和C++语言实现的SOAP服务器,以及种种公用服务及API,以天生和安排Web服务应用。


Axis附带的默认服务StockQuoteService.jws包括一个硬编码的HTTP URL,可用于触发HTTP请求。攻击者可以通过域名(www.xmltoday.com)接受或者通过ARP诱骗服务器从而执行MITM攻击,并将HTTP请求重定向到恶意Web服务器,在Apache Axis服务器上远程执行代码(CVE-2019-0227)。


现在为了避免域名www.xmltoday.com被恶意攻击者使用,已经有白帽子将其购置。


误差验证


POC:https://github.com/RhinoSecurityLabs/CVEs/tree/master/CVE-2019-0227。


在Axis的默认装置中,有一个名为“StockQuoteService.jws”的默认示例Web服务,可以果真会见。此服务的目的是举例说明您可以使用Java Web Service执行的操作。此特定示例旨在从驻留在外部URL上的外部服务检索股票代码的价钱�?匆幌抡庀罘竦拇�,它正在向www.xmltoday.com发出HTTP请求以检索一些XML并显示从响应中剖析出来的股票代码的价钱。在下面的屏幕截图中,可以看到对外部服务执行HTTP请求的代码,www.xmltoday.com。 

 

尊龙凯时 - 人生就是搏!


XMLUtils.newDocument“实验从要剖析的域中检索XML文档。由于用户控制发送到www.xmltoday.com的“符号”参数,去看下www.xmltoday.com可以看到该域名可供任何人购置。

 

尊龙凯时 - 人生就是搏!


由于www.xmltoday.com正在出售,这意味着我们可以购置此域并将其设置为将任何请求重定向到特制的localhost URL。将此与SSRF与RCE技巧相团结,就可以在任何Axis服务器上获得远程代码执行。为了验证这一点,看下“XMLUtils.newDocument”函数如那里置重定向。下图显示了“XMLUtils.newDocument”使用的“HttpURLConnection”的属性。

 

尊龙凯时 - 人生就是搏!


审查Axis源中的XMLutils,可以看到“setInstanceFollowRedirects”属性设置为“true”。这证实了“XMLUtils.newDocument”现实上会遵照重定向。


拥有此域并不是滥用“StockQuoteService.jws”或来自Axis服务器的任何其他HTTP请求的唯一要领。由于请求是通过HTTP举行的,这意味着若是您与Axis服务器位于统一网络上,则可以执行针对该服务器的中心人攻击,然后使用“StockQuoteService.jws”触发器或期待HTTP请求并再次将此请求重定向到localhost以使用SSRF技巧。使用它的办法如下:ARP中毒目的Axis服务器。


将任何HTTP流量重定向到您自己的Web服务器。


重定向到特制的localhost URL,该URL在Axis中启动服务。


触发HTTP请求以重定向请求“StockQuoteService.jws”。


误差使用乐成如下图:

 

尊龙凯时 - 人生就是搏!


修复建议


若是正在使用Axis,可以删除Axis根目录中StockQuoteService.jws文件。
确保在Axis或Axis2中运行的任何库或服务不保存外联的HTTP/HTTPS请求。
Apache Axis2的下载地址为:

http://axis.apache.org/axis2/java/core/download.html


参考链接


https://rhinosecuritylabs.com/application-security/cve-2019-0227-expired-domain-rce-apache-axis/