如何修复Tomcat 9的目录遍历漏洞



我在Tomcat 9容器(Debian 10.8)上有一个JEE服务。前面是Apache Web Server + mod_proxy_ajp.

在我的VH中,我没有任何ProxyPass规则用于/manager/html上下文,但如果在Web客户端上,我重写了我的URL添加/..;/manager/html(例如:https://www.example.org/site/..;/manager/html) Tomcat管理器要求凭据。

有什么技巧可以避免它吗?也许使用modsecurity?谢谢。

我使用mod_security规则解决了这个问题:

SecRule REQUEST_URI "@rx ..;/" "phase:1,severity:'CRITICAL',deny,id:129"

由于路径参数仅在Tomcat中用于会话跟踪(作为cookie的替代品),因此可以在Apache2中从..路径段中安全地删除它们:

RewriteEngine on
RewriteRule ^(.*)/..;[^/]*(.*)$ $1/..$2 [N]

或者您可以将它们全部删除:

RewriteEngine on
RewriteRule ^(.*);[^/]*(.*)$ $1$2 [N]

并配置Tomcat在$CATALINA_BASE/conf/web.xml中只使用cookie进行会话跟踪:

<session-config>
...
<tracking-mode>COOKIE</tracking-mode>
</session-config>

相关内容

  • 没有找到相关文章

最新更新