This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit

Talk:CSRF Guard

Revision as of 21:50, 20 April 2007 by Leiolay (talk | contribs)

Jump to: navigation, search

Should this be in the Countermeasure category and listed on

Absolutely - fixed

Having hard time to get it working with Weblogic 8.1

I tried it out. For some reason, I always get this following statck trace. Could you please help?

java.lang.IllegalStateException: response already committed
        at weblogic.servlet.jsp.JspWriterImpl.clear(
        at jsp_servlet.__welcome._jspService(
        at weblogic.servlet.jsp.JspBase.service(
        at weblogic.servlet.internal.ServletStubImpl$
        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
        at weblogic.servlet.internal.TailFilter.doFilter(
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.ja
        at org.owasp.csrf.CSRFGuard.doChain(
        at org.owasp.csrf.CSRFGuard.doFilter(
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.ja
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
        at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
        at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
        at weblogic.kernel.ExecuteThread.execute(

This exception occurs when your application tries to write to a response that
has already been committed. In this case, we use a MutableHttpRequest, which
should capture all these writes and allow us to change them later in the filter.
However, there may be a few methods - like addHeader perhaps - that aren't handled
in the MutableHttpRequest. This is just a guess.  Can you share what's happening
in your JSP (welcome.jsp) that causes this error?
--Jeff Williams 17:22, 20 April 2007 (EDT)

In welcome.jsp:

It does the following:

<jsp:forward page="/foo.jsp" />

and this line translates to the following java code by the weblogic jsp compiler:

         if (true) { //forwarding request //[ /welcome.jsp; Line: 289]

out.clear(); // clear current output buffer //[ /welcome.jsp; Line: 289]

           String __thePage =  //[ /welcome.jsp; Line: 289]
           //[ /foo.jsp; Line: 289]
           "/foo.jsp"; //[ /welcome.jsp; Line: 289]
           pageContext.forward(__thePage); //[ /welcome.jsp; Line: 289]
           return; //[ /welcome.jsp; Line: 289]
         } //[ /welcome.jsp; Line: 289]

So the exception was thrown from the line highlighted above