表达式语言注入

high Web App Scanning 插件 ID 113317

简介

表达式语言注入

描述

表达式语言 (EL) 已被定义为 Java 服务器页面标准标签库 (JSTL) 的一部分,以便为开发人员提供一种从对象模型输出数据的简单方法。从 JSP 2.0 规范开始,表达式语言已在 JSP 页面内可用,而且它也存在于许多实现中,例如:
- Apache Jakarta
- Struts 和 WebWork 使用的对象图形导航语言 (OGNL)
- MVFLEX 表达式语言 (MVEL)
- Spring 表达式语言 (SPEL)

应用程序包含不安全的用户控制输入(由表达式解释器动态评估)时,会出现表达式语言注入 (ELI) 漏洞。

通过注入取决于应用程序使用的表达式解释器的特定负载,攻击者可以利用此漏洞来获得对敏感信息的访问权限,或在目标服务器上实现远程代码执行。

解决方案

开发人员应避免评估直接源于不受信任的用户输入的表达式,以防止恶意注入。如果应用程序仍需此类输入,则应严格验证用户提供的数据,通过使用白名单或过滤特殊字符的方法来避免高级表达式注入。

另见

https://mindedsecurity.com/wp-content/uploads/2020/10/ExpressionLanguageInjection.pdf

https://owasp.org/www-community/vulnerabilities/Expression_Language_Injection

插件详情

严重性: High

ID: 113317

类型: remote

系列: Injection

发布时间: 2022/8/8

最近更新时间: 2023/7/6

扫描模板: api, full, pci, scan

风险信息

VPR

风险因素: Medium

分数: 4.7

CVSS v2

风险因素: High

基本分数: 9

矢量: CVSS2#AV:N/AC:L/Au:N/C:C/I:P/A:P

CVSS 分数来源: Tenable

CVSS v3

风险因素: High

基本分数: 8.6

矢量: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L

CVSS 分数来源: Tenable

CVSS v4

风险因素: High

Base Score: 7.2

Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:L/VA:L/SC:N/SI:N/SA:N

CVSS 分数来源: Tenable

参考资料信息

CWE: 917

OWASP: 2010-A1, 2013-A1, 2017-A1, 2021-A3

WASC: Improper Input Handling

CAPEC: 10, 101, 108, 120, 13, 135, 14, 24, 250, 267, 273, 28, 3, 34, 42, 43, 45, 46, 47, 51, 52, 53, 6, 64, 67, 7, 71, 72, 76, 78, 79, 8, 80, 83, 84, 9

DISA STIG: APSC-DV-002560

HIPAA: 164.306(a)(1), 164.306(a)(2)

ISO: 27001-A.14.2.5

NIST: sp800_53-SI-10

OWASP API: 2019-API8

OWASP ASVS: 4.0.2-5.2.5

PCI-DSS: 3.2-6.5.1