哪些你不曾了解的中间件
字数 2369 2025-08-10 09:43:36

中间件安全漏洞详解

1. 中间件概述

中间件是一种独立的系统软件服务程序,位于客户机/服务器的操作系统之上,管理计算资源和网络通信。它作为桥梁连接不同的技术和系统,使它们能够相互交流和合作。

2. IIS (Internet Information Services)

端口: 80(HTTP), 443(HTTPS)

2.1 知名漏洞

  1. PUT漏洞

    • 影响版本: IIS 6.0
    • 条件: WebDAV服务开启且配置了写入权限
    • 结果: 任意文件上传
  2. 解析漏洞

    • 影响版本: IIS 7.x
    • 条件: Fast-CGI运行模式
    • 特征: 任意文件后加/.php会被解析为PHP文件
  3. 短文件名泄漏漏洞

    • 影响版本: IIS 5.0-10.0全系列
    • 原理: 由HTTP请求中旧DOS 8.3名称约定(SFN)的代字符(~)引起
    • 危害: 暴露Web根目录下的文件和文件夹名称
  4. HTTP.SYS远程代码执行(蓝屏漏洞)

    • 影响系统:
      • Windows Server 2008 R2
      • Windows 8/8.1
      • Windows Server 2012/R2
    • 原理: HTTP.sys未正确分析特殊设计的HTTP请求
  5. CVE-2017-7269

    • 影响版本: Windows Server 2003 R2 IIS 6.0
    • 条件: 需发送以"if:<http://"开头的长header PROPFIND请求
    • 危害: 缓冲区溢出导致任意代码执行

3. Nginx

端口: 80

3.1 知名漏洞

  1. 后缀解析漏洞(CVE-2013-4547)

    • 原因: 配置不当
    • 特征: 任意文件名后加/xxx.php会被作为PHP解析
  2. 命令执行漏洞(CVE-2021-23017)

    • 影响版本: 0.6.18 - 1.20.0
    • 条件: 配置了"resolver"指令
    • 原理: 处理DNS响应时构造的UDP数据包可导致1-byte内存覆盖
  3. 整数溢出漏洞(CVE-2017-7529)

    • 影响版本: 0.5.6 - 1.13.2
    • 条件: 开启缓存功能
    • 危害: 越界读取缓存文件头信息,可能泄露真实IP

4. Apache

端口: 80

4.1 知名漏洞

  1. Log4j2漏洞(CVE-2021-44228)

    • 影响版本: 2.0 - 2.15.0-rc1
    • 原理: JNDI注入缺陷
    • 危害: 任意代码执行
  2. 目录穿越漏洞(CVE-2021-41773)

    • 影响版本: 2.4.49
    • 条件: 配合Require all granted配置
    • 危害: 读取任意文件或执行bash指令
  3. RCE漏洞(CVE-2021-42013)

    • 影响版本: 2.4.49-2.4.50
    • 原理: 对CVE-2021-41773修复不充分
  4. 文件解析漏洞(CVE-2017-15715)

    • 影响版本: 2.4.0-2.4.29
    • 特征: xxx.php\x0A被解析为PHP文件
  5. ShenYu身份验证绕过(CVE-2021-37580)

    • 原因: JWT错误使用
    • 危害: 绕过身份验证进入后台

5. Tomcat

端口: 8080

5.1 知名漏洞

  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导致会话劫持风险
  2. 文件上传漏洞(CVE-2017-12615)

    • 影响版本: 7.0.0 - 7.0.79
    • 条件: Windows主机且HTTP PUT方法开启(readonly=false)
    • 危害: 上传JSP webshell
  3. 文件包含漏洞(CVE-2020-1938)

    • 影响版本:
      • Tomcat 6
      • Tomcat 7 < 7.0.100
      • Tomcat 8 < 8.5.51
      • Tomcat 9 < 9.0.31
    • 原理: AJP协议设计缺陷
    • 条件: 需有上传后门
  4. 反序列化漏洞(CVE-2020-9484)

    • 利用条件:
      1. 能控制服务器上文件内容和名称
      2. 使用FileStore配置
      3. sessionAttributeValueClassNameFilter配置为"null"或不够严格
      4. 知道FileStore存储位置到可控文件的相对路径

6. WebLogic

端口: 7001

6.1 知名漏洞

  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 知名漏洞

  1. DOM-XSS漏洞(CVE-2023-27898/CVE-2023-27905)
    • 影响版本: 2.319.2之前所有版本
    • 原理: 渲染插件版本不兼容错误信息时未转义
    • 危害: JavaScript代码被执行

8. Jetty

端口: 8080

8.1 知名漏洞

  1. 信息泄露漏洞(CVE-2023-26049)

    • 原理: 非标准cookie解析导致cookie走私
  2. 拒绝服务漏洞(CVE-2022-2048)

    • 影响版本:
      • 9.4.46及之前
      • 10.0.9及之前
      • 11.0.9及之前
    • 原因: 无效HTTP/2请求占用连接

9. GlassFish

端口: 4848

9.1 知名漏洞

  1. 任意文件读取漏洞(CVE-2017-1000028)
    • 影响版本: 4.1
    • 危害: 读取服务器任意文件,包括敏感信息

10. 通用安全建议

  1. 及时更新中间件到最新版本
  2. 关闭不必要的服务和功能(如WebDAV、PUT方法等)
  3. 配置严格的访问控制策略
  4. 使用强密码保护管理后台
  5. 定期进行安全审计和漏洞扫描
  6. 最小化权限原则,避免使用过高权限运行服务
中间件安全漏洞详解 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方法等) 配置严格的访问控制策略 使用强密码保护管理后台 定期进行安全审计和漏洞扫描 最小化权限原则,避免使用过高权限运行服务