美文网首页
tomcat版本 针对%2F及%5F特殊字符,还有 RFC 72

tomcat版本 针对%2F及%5F特殊字符,还有 RFC 72

作者: 轴儿 | 来源:发表于2018-03-16 14:21 被阅读0次

    现在针对特殊字符的处理主要是分为两种,一种为"/\"正斜 反斜,另一种是除这两个之外的包括#!^等其他特殊字符,不同的tomcat版本处理方式不一样,现以tomcat7.0.76和tomcat8.5.11为例,字符都是指encode后的。tomcat7可以处理第二种,tomcat8不能处理第二种会报 java.lang.IllegalArgumentException: Invalid character found in the request

    target. The valid characters are defined in RFC 7230 and RFC 3986 异常。现在如果修改tomcat 的相关安全属性

    org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true

    org.apache.catalina.connector.CoyoteAdapter.ALLOW_BACKSLASH=true,tomcat7和tomcat8都支持第一种和第二种。tomcat默认这两个属性false,应该考虑安全性

    http://tomcat.10.x6.nabble.com/Tomcat-8-0-39-and-tomcat-8-5-8-fails-handling-requsest-td5057320.html

    http://dev.tomcat.apache.narkive.com/K40XgxSt/bug-60362-new-missing-reason-phrase-in-response

    tomcat 缺少reasonPhrase也是tomcat 版本问题导致。

    tomcat get请求问题:

    -Dtomcat.util.http.parser.HttpParser.requestTargetAllow=|{}

    Tomcat 7.0.76, 8.0.42, 8.5.12 you can define property requestTargetAllow to allow forbiden characters.  让它支持|字符

    相关文章

      网友评论

          本文标题:tomcat版本 针对%2F及%5F特殊字符,还有 RFC 72

          本文链接:https://www.haomeiwen.com/subject/psalqftx.html