我已经处理URL的篡改,我有那个正则表达式比较查询字符串,如果有任何esacpe或特殊字符在它,它返回它在屏幕上显示“无效参数”的自定义邮件过滤器的场景。
现在,这是工作的罚款,直到我们使用JBoss 6.4.10,但升级到JBOSS 6.4.20之后,它甚至没有触及过滤网,地方JBOSS 6.4.20被验证为在我的情况的转义字符/大括号的请求URI并抛出一个400错误的请求错误。
请避免到JBoss 7或等我知道,JBOSS 7有一个标志“ALLOW_UNESCAPED_CHARACTERS_IN_URL”这解决了这个问题,但我不能使用JBoss 7提供类似的升级解决方案。
据我所知,这种行为与以下安全漏洞相关的:CVE-2016-6816。尝试tomcat.util.http.parser.HttpParser.requestTargetAllow
系统正财产。在此属性的值列出的任何字符将被再次允许。另一种方法是降级到JBoss EAP 6.4.12或更早版本。
添加下面的参数Standalone.conf
文件
JAVA_OPTS="$JAVA_OPTS -Dtomcat.util.http.parser.HttpParser.requestTargetAllow='{|}'"