【问题标题】:CSRFGuard Javascript Injection doesn't workCSRFGuard Javascript 注入不起作用
【发布时间】:2017-01-27 07:17:26
【问题描述】:

我做错了什么?我无法让 javascript 注入工作。这是我在 web.xml 中添加的内容:

<listener>
    <listener-class>org.owasp.csrfguard.CsrfGuardServletContextListener</listener-class>
</listener>
<listener>
    <listener-class>org.owasp.csrfguard.CsrfGuardHttpSessionListener</listener-class>
</listener>
    <context-param>
        <param-name>Owasp.CsrfGuard.Config</param-name>
        <param-value>WEB-INF/csrfguard.properties</param-value>
    </context-param>
    <context-param>
        <param-name>Owasp.CsrfGuard.Config.Print</param-name>
        <param-value>true</param-value>
    </context-param>
    <filter>
        <filter-name>CSRFGuard</filter-name>
        <filter-class>org.owasp.csrfguard.CsrfGuardFilter</filter-class>
    </filter>
<filter-mapping>
    <filter-name>CSRFGuard</filter-name> 
    <url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
    <servlet-name>JavaScriptServlet</servlet-name>
    <servlet-class>org.owasp.csrfguard.servlet.JavaScriptServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>JavaScriptServlet</servlet-name>
    <url-pattern>/JavaScriptServlet</url-pattern>
</servlet-mapping>

在我的 jsp 文件中,我添加了这一行:

<script src="/JavaScriptServlet"></script>

但是当我提交时,令牌不会被添加到请求中。我单步执行了代码,CsrfGuard.verifySessionToken(request) 中的这一行返回 null:

String tokenFromRequest = request.getParameter(getTokenName());

到目前为止,我唯一能做的就是使用 CSRF 自定义标签添加令牌并在表单 ala 中添加一个隐藏字段:

<input type="hidden" name="<csrf:tokenname/>" value="<csrf:tokenvalue/>"/>

【问题讨论】:

    标签: javascript csrf code-injection


    【解决方案1】:

    看来我必须首先弄清楚我的 servlet 上下文根是什么。然后我通过更改来修复它

    <script src="/JavaScriptServlet"></script>
    

    <script src="/[servletcontextroot]/JavaScriptServlet"></script>
    

    【讨论】:

    • 即使更改为 /[servletcontextroot]/JavaScriptServlet" 也不起作用...
    【解决方案2】:

    就我而言,在设置基本路径后添加脚本标签时效果很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-26
      相关资源
      最近更新 更多