0
<c:set var="zc_BtnFont_Style" value="${zc_BtnFont};" scope="request"/>

在这里,我可以访问操纵参数zc_BtnFont,因为它来自HttpServletRequest.getParameter()。但我不能动态评估这个表达式。

我在 SO 中看到过较早的帖子,其中解释了导致这种情况发生的问题。

这里,

1.我的web.xml指向http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd

2.EL忽略不在页面级别或通过web.xml完成​​。

我可以硬编码一个 EL {1+1} 来评估它为真,所以我认为它在这里不会被忽略。但是,如果我从请求 1+1 发送,则由于+被视为空间而变为 1 1。我尝试将 URL 编码为 1%2B1,然后它呈现为“1+1”而不是 2。

我了解 EL Injection 的安全风险,只是想知道如何实现这一点。

4

0 回答 0