java – request.getServletPath()返回的Servlet路径是否保证规
发布时间:2020-12-15 04:34:06 所属栏目:Java 来源:网络整理
导读:1)request.getServletPath()可以返回任何路径,如/testfolder/../testfolder/file.txt,或者这个路径是否保证规范化,从而转换为/testfolder/file.txt? 我问的原因是因为我想知道这条路径是否可以轻松用于访问控制.例如,当普通用户不能访问以/ admin /开头的路
1)request.getServletPath()可以返回任何路径,如/testfolder/../testfolder/file.txt,或者这个路径是否保证规范化,从而转换为/testfolder/file.txt?
我问的原因是因为我想知道这条路径是否可以轻松用于访问控制.例如,当普通用户不能访问以/ admin /开头的路径时,可以使用某些相对路径(如/images/../admin/secretinfo.txt)来规避此控制. 请注意:浏览器在联系服务器之前将任何路径转换为绝对规范化路径,但假设发送相对路径的其他恶意客户端可用于攻击. 2)此外,在执行此类简单字符串验证访问控制时,是否还应考虑其他与Servlet Path相关的安全问题? 解决方法
Servlet规范尚不清楚.针对Servlet规范有一个
open issue.
该规范强烈建议将其规范化,但对于与安全相关的应用程序,我不会依赖于此并且将通过规范化过程运行它以确保安全.关于这个话题,我建议不要自己动手,建议你重新使用像Tomcat’s normalization code这样的话题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |