当前位置: 首页 > 网络安全 > 正文

WebLogic反序列化漏洞分析(CVE-2019-2725补丁绕过)

发布时间:2019-11-07 编辑:李素芳 来源:


2019年06月15日,网络上爆出 Oracle Weblogic远程反序列化命令执行漏洞,该漏洞绕过了最新的Weblogic补丁(CVE-2019-2725),攻击者可以发送精心构造的恶意HTTP请求,在未授权的情况下远程执行命令。 


影响产品:

Oracle WebLogic Server10.3.6.0.0

Oracle WebLogic Server12.1.3.0.0

 

影响组件:

wls9_async_response.war

wls-wsat.war

 

通过CVE-2019-2725补丁分析发现,较上一个漏洞CVE-2017-10271补丁而言,官方新增了对class元素的过滤,并且array元素的length属性转换为整形后不得大于10000:

http://www.cnhonkerarmy.com/data/attachment/portal/201906/16/004446hgltl3zz5y53y7ic.jpg

 

http://www.cnhonkerarmy.com/data/attachment/portal/201906/16/004457oo9m0tztwk9p1qic.jpg

本次漏洞利用某个元素成功替换了补丁所限制的元素,再次绕过了补丁黑名单策略,最终造成远程命令执行。

官方在去年十月份发布了CVE-2017-10271补丁文件将object、new、method关键字继续加入到黑名单中,一旦解析XML元素过程中匹配到上述任意一个关键字就立即抛出运行时异常。但是针对void和array这两个元素是有选择性的抛异常,其中当解析到void元素后,还会进一步解析该元素中的属性名,若没有匹配上index关键字才会抛出异常。而针对array元素而言,在解析到该元素属性名匹配class关键字的前提下,还会解析该属性值,若没有匹配上byte关键字,才会抛出运行时异常:

判断组件是否存在

1、可通过访问路径/_async/AsyncResponseServiceSoap12判断wls9_async_response组件是否存在。

https://img2018.cnblogs.com/blog/1579317/201906/1579317-20190618015102837-714351040.png

2、可通过访问路径/wls-wsat/CoordinatorPortType,判断wls-wsat组件是否存在。

https://img2018.cnblogs.com/blog/1579317/201906/1579317-20190618015136124-1525686060.png

 

验证poc

抓包,替换为poc,可以看到成功执行了代码。

具体代码见poc文件。

 

赛尔网络技术支持电话:18963073660