Weblogic_XMLDecoder反序列化漏洞_CVE-2017-10271(未完待续)

Weblogic_XMLDecoder反序列化漏洞_CVE-2017-10271

  • 1 漏洞概述
    • 1.1 基础知识
    • 1.2 漏洞概述
    • 1.3 影响版本
  • 2 漏洞原理分析
  • 3 漏洞复现
  • 4 漏洞修复
  • 5 其他
  • 6 参考

1 漏洞概述

1.1 基础知识

1:什么是反序列漏洞
2.xmldecode有什么作用
3.xmldecode解析流程

1.2 漏洞概述

漏洞的触发位置是wls—wsat。war,触发漏洞的url在这个war包中的web。xml文件中定义了,漏洞相关页面
漏洞触发流程,构造恶意的soap(xml(的请求,在执行调用过程中调用了xMLDecode. readobject
反序列化方法,这个方法存在漏洞

调用链如下Weblogic_XMLDecoder反序列化漏洞_CVE-2017-10271(未完待续)_第1张图片

1.3 影响版本

webLogic 10.3.6.0、12.1.3.0、12.2.1.1 、12.2.1.2版本

2 漏洞原理分析

1.增加方法依赖包
Weblogic_XMLDecoder反序列化漏洞_CVE-2017-10271(未完待续)_第2张图片
使用burpsuite在对应页面传入poc,日志中查看调用栈

weblogic.wsee.jaxws.workcontext.WorkContextServerTube->processRequest
weblogic.wsee.jaxws.workcontext.WorkContextTube->readHeaderOld
weblogic.wsee.jaxws.workcontext.WorkContextServerTube->receive
weblogic.workarea.WorkContextMapImpl->receiveRequest
weblogic.workarea.WorkContextLocalMap->receiveRequest
weblogic.workarea.spi.WorkContextEntryImpl->readEntry
weblogic.wsee.workarea.WorkContextXmlInputAdapter->readUTF

这个是webxml,也可以理解为有漏洞的页面
Weblogic_XMLDecoder反序列化漏洞_CVE-2017-10271(未完待续)_第3张图片
然后我们根据调用链,进去第一个函数,然后调用了readheaderold,我们在进去这个
Weblogic_XMLDecoder反序列化漏洞_CVE-2017-10271(未完待续)_第4张图片
然后我们看到实例化了这个对象,然后调用了receive 方法
Weblogic_XMLDecoder反序列化漏洞_CVE-2017-10271(未完待续)_第5张图片
可以看到这个对象实际是xmldecode类型的一个对象
Weblogic_XMLDecoder反序列化漏洞_CVE-2017-10271(未完待续)_第6张图片
可以看到这个方法中,最后传入了xmldecode对象,然后又被receiverequest方法进行调用
在这里插入图片描述
然后我们进入到发现调用了然readentry
Weblogic_XMLDecoder反序列化漏洞_CVE-2017-10271(未完待续)_第7张图片
调用了readutf
在这里插入图片描述
这个方法最后返回的是xmldecoder。readobject方法,这个方法存在反序列化漏洞,具体的解析流程在别的文章中分析
Weblogic_XMLDecoder反序列化漏洞_CVE-2017-10271(未完待续)_第8张图片

3 漏洞复现

4 漏洞修复

5 其他

6 参考

你可能感兴趣的:(应用服务器/中间件漏洞)