加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 在Apache Web Server中评估的表达式语言

发布时间:2020-12-15 00:35:10 所属栏目:Java 来源:网络整理
导读:我有一个Apache Web服务器2.0和Tomcat服务器7.0. Web服务器将请求定向到Tomcat服务器. Web和tomcat应用程序服务器都可以直接访问. 当表达式语言${9-4}作为请求参数发送到Web服务器URL时,表达式将被评估并返回结果5. 如果向Tomcat服务器发送相同的请求,则结果
我有一个Apache Web服务器2.0和Tomcat服务器7.0.

Web服务器将请求定向到Tomcat服务器.

Web和tomcat应用程序服务器都可以直接访问.

当表达式语言${9-4}作为请求参数发送到Web服务器URL时,表达式将被评估并返回结果5.

如果向Tomcat服务器发送相同的请求,则结果为${9-4}而不进行评估.

例如:

网络服务器

要求:http://apache-web-server:port/context?test= ${9-4}

在jsp:5中打印测试时的响应

Tomcat服务器

要求:http://tomcat-server:port/context?test= ${9-4}

在jsp中打印测试时的响应:${9-4}

Apache Web服务器是否在此评估表达式语言?

如何阻止服务器评估表达式语言?

我也在Tomcat应用程序服务器中使用Struts 2.

如果Apache Web服务器具有评估表达式的能力,那么如何在Apache Web服务器中关闭OGNL表达式评估?

解决方法

看起来JSP表达式语言正在解析您的参数.它实际上是您的应用程序的远程代码执行漏洞.

看看这篇文章:
https://www.owasp.org/index.php/Expression_Language_Injection
http://danamodio.com/appsec/research/spring-remote-code-with-expression-language-injection/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读