哪些你不曾了解的中间件
字数 2369 2025-08-10 09:43:36
中间件安全漏洞详解
1. 中间件概述
中间件是一种独立的系统软件服务程序,位于客户机/服务器的操作系统之上,管理计算资源和网络通信。它作为桥梁连接不同的技术和系统,使它们能够相互交流和合作。
2. IIS (Internet Information Services)
端口: 80(HTTP), 443(HTTPS)
2.1 知名漏洞
-
PUT漏洞
- 影响版本: IIS 6.0
- 条件: WebDAV服务开启且配置了写入权限
- 结果: 任意文件上传
-
解析漏洞
- 影响版本: IIS 7.x
- 条件: Fast-CGI运行模式
- 特征: 任意文件后加/.php会被解析为PHP文件
-
短文件名泄漏漏洞
- 影响版本: IIS 5.0-10.0全系列
- 原理: 由HTTP请求中旧DOS 8.3名称约定(SFN)的代字符(~)引起
- 危害: 暴露Web根目录下的文件和文件夹名称
-
HTTP.SYS远程代码执行(蓝屏漏洞)
- 影响系统:
- Windows Server 2008 R2
- Windows 8/8.1
- Windows Server 2012/R2
- 原理: HTTP.sys未正确分析特殊设计的HTTP请求
- 影响系统:
-
CVE-2017-7269
- 影响版本: Windows Server 2003 R2 IIS 6.0
- 条件: 需发送以"if:<http://"开头的长header PROPFIND请求
- 危害: 缓冲区溢出导致任意代码执行
3. Nginx
端口: 80
3.1 知名漏洞
-
后缀解析漏洞(CVE-2013-4547)
- 原因: 配置不当
- 特征: 任意文件名后加/xxx.php会被作为PHP解析
-
命令执行漏洞(CVE-2021-23017)
- 影响版本: 0.6.18 - 1.20.0
- 条件: 配置了"resolver"指令
- 原理: 处理DNS响应时构造的UDP数据包可导致1-byte内存覆盖
-
整数溢出漏洞(CVE-2017-7529)
- 影响版本: 0.5.6 - 1.13.2
- 条件: 开启缓存功能
- 危害: 越界读取缓存文件头信息,可能泄露真实IP
4. Apache
端口: 80
4.1 知名漏洞
-
Log4j2漏洞(CVE-2021-44228)
- 影响版本: 2.0 - 2.15.0-rc1
- 原理: JNDI注入缺陷
- 危害: 任意代码执行
-
目录穿越漏洞(CVE-2021-41773)
- 影响版本: 2.4.49
- 条件: 配合Require all granted配置
- 危害: 读取任意文件或执行bash指令
-
RCE漏洞(CVE-2021-42013)
- 影响版本: 2.4.49-2.4.50
- 原理: 对CVE-2021-41773修复不充分
-
文件解析漏洞(CVE-2017-15715)
- 影响版本: 2.4.0-2.4.29
- 特征: xxx.php\x0A被解析为PHP文件
-
ShenYu身份验证绕过(CVE-2021-37580)
- 原因: JWT错误使用
- 危害: 绕过身份验证进入后台
5. Tomcat
端口: 8080
5.1 知名漏洞
-
信息泄露漏洞(CVE-2023-42795)
- 影响版本:
- 11.0.0-M1 - 11.0.0-M2
- 10.1.0-M1 - 10.1.5
- 9.0.0-M1 - 9.0.71
- 8.5.0 - 8.5.85
- 原理: HTTPS重定向到HTTP导致会话劫持风险
- 影响版本:
-
文件上传漏洞(CVE-2017-12615)
- 影响版本: 7.0.0 - 7.0.79
- 条件: Windows主机且HTTP PUT方法开启(readonly=false)
- 危害: 上传JSP webshell
-
文件包含漏洞(CVE-2020-1938)
- 影响版本:
- Tomcat 6
- Tomcat 7 < 7.0.100
- Tomcat 8 < 8.5.51
- Tomcat 9 < 9.0.31
- 原理: AJP协议设计缺陷
- 条件: 需有上传后门
- 影响版本:
-
反序列化漏洞(CVE-2020-9484)
- 利用条件:
- 能控制服务器上文件内容和名称
- 使用FileStore配置
- sessionAttributeValueClassNameFilter配置为"null"或不够严格
- 知道FileStore存储位置到可控文件的相对路径
- 利用条件:
6. WebLogic
端口: 7001
6.1 知名漏洞
- 远程代码执行漏洞(CVE-2023-21839)
- 影响版本: 12.2.1.3.0, 12.2.1.4.0, 14.1.1.0.0
- 协议: IIOP
- 危害: 服务器被接管
7. Jenkins
端口: 8080
7.1 知名漏洞
- DOM-XSS漏洞(CVE-2023-27898/CVE-2023-27905)
- 影响版本: 2.319.2之前所有版本
- 原理: 渲染插件版本不兼容错误信息时未转义
- 危害: JavaScript代码被执行
8. Jetty
端口: 8080
8.1 知名漏洞
-
信息泄露漏洞(CVE-2023-26049)
- 原理: 非标准cookie解析导致cookie走私
-
拒绝服务漏洞(CVE-2022-2048)
- 影响版本:
- 9.4.46及之前
- 10.0.9及之前
- 11.0.9及之前
- 原因: 无效HTTP/2请求占用连接
- 影响版本:
9. GlassFish
端口: 4848
9.1 知名漏洞
- 任意文件读取漏洞(CVE-2017-1000028)
- 影响版本: 4.1
- 危害: 读取服务器任意文件,包括敏感信息
10. 通用安全建议
- 及时更新中间件到最新版本
- 关闭不必要的服务和功能(如WebDAV、PUT方法等)
- 配置严格的访问控制策略
- 使用强密码保护管理后台
- 定期进行安全审计和漏洞扫描
- 最小化权限原则,避免使用过高权限运行服务