【问题标题】:Tomcat 6.0.35 - how to bypass new CSRF protection on the manager application?Tomcat 6.0.35 - 如何绕过管理器应用程序上的新 CSRF 保护?
【发布时间】:2013-09-18 00:50:51
【问题描述】:

我有一个命令行脚本(实际上是一个 git 签出后挂钩),它通过执行 cURL 来重新加载我的 Solr 应用程序:

http://localhost:8080/manager/html/reload?path=/solr

自从我升级到 Ubuntu 13.04 后,它现在失败了,在升级之前它曾经可以工作。

问题的原因是我的新版本 Tomcat (6.0.35) 有一些新的 CSRF 保护,它现在返回 403 Access Denied

如何解决问题并绕过 CSRF 保护?


更多信息:

我的/etc/tomcat6/tomcat-users.xml 文件:

<?xml version='1.0' encoding='utf-8'?>
  <role rolename="manager"/>
  <user username="tomcat" password="secret" roles="manager"/>
</tomcat-users>

Configuring Manager Application access in tomcat 的文档提到了一些新的经理角色,但我的错误特别提到了目前仍然存在单个“经理”角色(我还是尝试了其他角色但没有成功)。

【问题讨论】:

    标签: solr tomcat6 csrf


    【解决方案1】:

    (在我写这个问题的时候,我找到了答案。)我不需要卷曲到 HTML 应用程序,而是需要卷曲到“纯文本界面” .

    即而不是

    http://localhost:8080/manager/html/reload?path=/solr
    

    用途:

    http://localhost:8080/manager/reload?path=/solr
    

    事实证明:

    HTML 界面受到 CSRF 保护,但文本和 JMX 界面没有。

    这符合名为“manager-script”的新角色。为确保我的应用将来可以正常运行,我更改了我的 /etc/tomcat6/tomcat-users.xml 文件:

    <?xml version='1.0' encoding='utf-8'?>
      <role rolename="manager-gui"/>
      <role rolename="manager-script"/>
      <user username="tomcat" password="secret" roles="manager-gui,manager-script"/>
    </tomcat-users>
    

    【讨论】:

      猜你喜欢
      • 2020-09-13
      • 2017-05-13
      • 1970-01-01
      • 1970-01-01
      • 2014-02-09
      • 1970-01-01
      • 2014-05-02
      • 1970-01-01
      • 2010-09-13
      相关资源
      最近更新 更多