首页 > 解决方案 > RequestDumperValve 中断 POST 请求

问题描述

我有一个历史悠久的 ColdFusion 9 服务器,它运行在 Scientific Linux 6.2 上的 JBoss 5.1 之上。每隔一段时间我就会看到错误

2019-08-20 12:15:30,621 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/REDACTED].[CfmServlet]] (ajp-0.0.0.0-8009-8) Servlet.service() for servlet CfmServlet threw exception
javax.servlet.ServletException: ROOT CAUSE: 
java.lang.IllegalArgumentException
        at coldfusion.filter.FormScope.parseQueryString(FormScope.java:375)
        at coldfusion.filter.FormScope.parsePostData(FormScope.java:346)
        at coldfusion.filter.FormScope.fillForm(FormScope.java:296)
        at coldfusion.filter.FusionContext.SymTab_initForRequest(FusionContext.java:377)

在文件中/var/log/jboss/server.log

为了找出似乎是什么问题,我认为可以以某种方式记录 JBoss 收到的 POST 参数,并试图为 ColdFusion 使用做准备。在我阅读的互联网上,我应该去归档/opt/jboss/server/default/deploy/jbossweb.sar/server.xml并取消注释该行<Valve className="org.apache.catalina.valves.RequestDumperValve" />

现在,参数(cookie、标头、POST 等)确实已登录到server.log文件中。但是,ColdFusion 服务器不再执行它的任务。我在浏览器中打开 CFADMIN 并输入密码。我不让进来。我再次看到登录页面。我的应用程序也是如此。我在server.log文件中看到参数(用户名和密码)是正确的。它们以明文形式登录。

互联网上有一个故事,描述了 RequestDumperValve 如何通过应用错误的编码来破坏请求。这样的事情会发生在我身上吗?在 JBoss 中记录 POST 参数是否还有其他可能性?

标签: coldfusionredhatcoldfusion-9jboss5.x

解决方案


推荐阅读