该漏洞是由wls9_async_response组件导致,在反序列化处理输入信息时存在缺陷,攻击者可以发送精心构造的恶意 HTTP 请求,未授权的情况下远程执行命令。部分版本WebLogic中默认包含的wls9_async_response包,主要是为WebLogic Server提供异步通讯服务。
漏洞详情见:http://www.cnvd.org.cn/webinfo/show/4999
绕过原理:
由于10271补丁并没有将array、index、byte等关键字加入黑名单,且JtaTransactionManager类存在JNDI二阶注入,又能配合oracle.toplink.internal.sessions.UnitOfWorkChangeSet进行联动,于是便能构造出rce的EXP。
复现过程:
一、搭建RMI服务
首先构建三个Java
ExploitClient.java
HttpFileHandler.java
ExportObject.java
如果你想要执行一些负责组合的命令,请记得使用Java Runtime编码转换。
二、构造payload
exp.java
exp.java需要配合weblogic自带的很多jar包
比如:
还有这个
三、最后一步getshell
运行exp.java得到payload.xml
将生成的payload.xml第三行起至</array> 结束
内容复制到POST包里构造数据包
监听回传数据包
可修改EXP.java的内容构建webshell