<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-GB link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US'>Yeah, I’ve thought the same. The only reason I found out about the precise required nature of the expressions was through trying to do the same as you.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US'>Glad you got it up and running ok.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US'>Tom<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><b><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'> ray@allthisisthat.com [mailto:ray@allthisisthat.com] <br><b>Sent:</b> 17 July 2013 22:38<br><b>To:</b> Manish Java<br><b>Cc:</b> Clough_Ray_allthisisthat; owasp-csrfguard@lists.owasp.org; tom.a.barber@gmail.com<br><b>Subject:</b> RE: [Owasp-csrfguard] can't get it to work<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><p>Thanks very much.  I got it going now.  Too bad Expression Language tags not allowed, and also would be nice to allow something like /myapp/something/*.xyz or 'myapp/*/*.xyz.  Then we could do /myapp/*/*.css, for example, to allow css coming from libraries to be allowed, but still not specifying *.css, which allows css from anywhere.  Same is true, of course for images and js, etc.  But we can't have everything, or at least so I've been told (and I always believe what people tell me).  Maybe there are good reasons for the strictness of the three allowed patterns which I don't yet understand.<o:p></o:p></p><p>- Ray Clough<o:p></o:p></p><p><br>---------------------------- Original Message ----------------------------<br>Subject: RE: [Owasp-csrfguard] can't get it to work<br>From: "Manish Java" <br>Date: Tue, July 16, 2013 11:14 pm<br>To: <a href="mailto:ray@allthisisthat.com">ray@allthisisthat.com</a><br>Cc: <a href="mailto:owasp-csrfguard@lists.owasp.org">owasp-csrfguard@lists.owasp.org</a><br><a href="mailto:tom.a.barber@gmail.com">tom.a.barber@gmail.com</a><br>--------------------------------------------------------------------------<br><br>{C}<o:p></o:p></p><div><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Hi Ray</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>I have found the following steps to be useful when working with CSRFGuard:</span><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>1.     </span><span lang=EN-IN> </span><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Find out the context root for the application (say,</span><span lang=EN-IN> </span><span lang=EN-IN style='font-family:"Courier New"'>/</span><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> or</span><span lang=EN-IN> </span><span lang=EN-IN style='font-family:"Courier New"'>/myapp</span><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> or</span><span lang=EN-IN> </span><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>/drbms in your case);</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>2.     </span><span lang=EN-IN> </span><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Decide on which resources you would like to protect;</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>3.     </span><span lang=EN-IN> </span><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Decide on which resources you do not need to protect (possibly images, CSS files, JavaScript files,</span><span lang=EN-IN> </span><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>plain HTML files,</span><span lang=EN-IN> </span><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>etc.);</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>4.     </span><span lang=EN-IN> </span><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>First configure the unprotected resources in the CSRFGuard configuration file, using</span><span lang=EN-IN> </span><span lang=EN-IN style='font-family:"Courier New"'>org.owasp.csrfguard.unprotected</span><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> configuration directives.  Make sure that you prefix the</span><span lang=EN-IN> </span><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>URLs with the context root.  An example configuration is given below:</span><br><br><span lang=EN-IN style='font-family:"Courier New"'>org.owasp.csrfguard.unprotected.CSS=/myapp/css/*</span><br><span lang=EN-IN style='font-family:"Courier New"'>org.owasp.csrfguard.unprotected.HTML=/myapp/html/*</span><br><span lang=EN-IN style='font-family:"Courier New"'>org.owasp.csrfguard.unprotected.Image=/myapp/image/*</span><br><span lang=EN-IN style='font-family:"Courier New"'>org.owasp.csrfguard.unprotected.JavaScript=/myapp/script/*</span><br><span lang=EN-IN style='font-family:"Courier New"'>org.owasp.csrfguard.unprotected.PDF=/myapp/pdf/*</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>5.     </span><span lang=EN-IN> </span><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Add configuration settings for the protected resources, as per application requirements.</span><o:p></o:p></p><p> <o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>In our application we typically do the following:</span><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>1.     </span><span lang=EN-IN> </span><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Configure the application root (/) as the new token landing page.  All this does is to ensure that any malicious attacker looking to target a specific page in any possible way is automatically redirected to the application’s home page (/). </span><span lang=EN-IN> </span><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>In our applications the home page either does not present any sensitive data or automatically redirects to the login page, depending on the application.</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>2.     </span><span lang=EN-IN> </span><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>We typically leave the login page unprotected as many users of our applications are likely to bookmark the</span><span lang=EN-IN> </span><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>login page.  In any case, the login page does not have any sensitive information so it is fine to leave it unprotected.</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>3.     </span><span lang=EN-IN> </span><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Our CSRFGuard properties file is generated on a per-environment through our Maven build.  This allows us to use different context roots for different environments and frees us up from having to maintain separate properties files.</span><o:p></o:p></p><p> <o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>If you have any further questions, please feel free to reply to this thread.  I will be happy to take a look at any issue you might be facing with CSRFGuard.</span><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Cheers</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>~ Manish</span><o:p></o:p></p><p> <o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Date: Wed, 17 Jul 2013 00:26:30 +0100</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>From: "Tom Barber" <</span><a href="mailto:tom.a.barber@gmail.com" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>tom.a.barber@gmail.com</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>></span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>To: <</span><a href="mailto:ray@allthisisthat.com" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>ray@allthisisthat.com</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>></span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Cc:</span><span lang=EN-IN> </span><a href="mailto:owasp-csrfguard@lists.owasp.org" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>owasp-csrfguard@lists.owasp.org</span></a><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Subject: Re: [Owasp-csrfguard] can't get it to work</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Message-ID: <</span><a href="mailto:004f01ce827b$e779f1c0$b66dd540$@gmail.com" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>004f01ce827b$e779f1c0$b66dd540$@gmail.com</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>></span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Content-Type: text/plain; charset="us-ascii"</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Hi Ray, Glad that helped!</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>I'm no expert in CSRFGuard (only started trying it out myself recently as a POC), but when I faced a similar issue I decided that I didn't really care about protecting images, so what I did was use the:</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'># Case 2: longest path prefix match, beginning / and ending /*</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>So in the example you provided, that would be:</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>"/img/*"</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>This unprotects all files within the img directory. Another option would be</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>for:</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'># Case 3: extension match, beginning *.</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>"*.gif" for each img extension type, perhaps useful if you have images in many different locations - though your example suggests otherwise.</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>As for leaving the login page unprotected, I don't think that is a problem (again, im no expert though..) a CSRF attack against a login page would only be able to potentially log a user into the application if valid parameters are supplied in the malicious request and valid users need to be able to access the site via the login screen and they wont have a token when they first visit -  though I'm not familiar with the newtokenlandingpage, which could be the alternative solution for all I know :)</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Good luck!</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Tom</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>From:</span><span lang=EN-IN> </span><a href="mailto:ray@allthisisthat.com" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>ray@allthisisthat.com</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> [</span><a href="mailto:ray@allthisisthat.com" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>mailto:ray@allthisisthat.com</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>]</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Sent: 16 July 2013 23:30</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>To: Tom Barber</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Cc: Clough_Ray_allthisisthat;</span><span lang=EN-IN> </span><a href="mailto:owasp-csrfguard@lists.owasp.org" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>owasp-csrfguard@lists.owasp.org</span></a><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Subject: RE: [Owasp-csrfguard] can't get it to work</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>You Rule!  It does indeed work, but now all my requests for images, css, etc all fail with missing token messages.  I tried adding the config property org.owasp.csrfguard.Ajax=true, but this makes no difference.  I still get a ton of messages like: Potential Cross-Site Request Forgery (CSRF) attack thwarted (user:, ip:127.0.0.1, uri:/drbms/img/sort_down.gif, error:required token is missing from the request).  What am I missing now?</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Any ideas?</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Also, I am now leaving the login page unprotected, which can't be a very good idea.  Is there a better method using the NewTokenLandingPage?  I still have that config setting, but it never goes there.  Should the NewTokenLandingPage redirect to the login page, or what does it do?  There isn't much discussion of this in the documentation, AFAIK.</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Thanks very much for the help so far - there was some danger of me going berserk, which is now receding into the distance.</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>- Ray Clough</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>---------------------------- Original Message ----------------------------</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Subject: RE: [Owasp-csrfguard] can't get it to work</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>From: "Tom Barber" </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Date: Tue, July 16, 2013 2:30 pm</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>To:</span><span lang=EN-IN> </span><a href="mailto:ray@allthisisthat.com" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>ray@allthisisthat.com</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> <</span><a href="mailto:ray@allthisisthat.com" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>mailto:ray@allthisisthat.com</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>></span><span lang=EN-IN> </span><a href="mailto:owasp-csrfguard@lists.owasp.org" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>owasp-csrfguard@lists.owasp.org</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> <</span><a href="mailto:owasp-csrfguard@lists.owasp.org" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>mailto:owasp-csrfguard@lists.owasp.org</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>></span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>--------------------------------------------------------------------------</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>{C} </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Hi Ray,</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>I'm not certain this is the case, but I believe I know the problem. If you look at the comments above the unprotected section of the property files the options it gives you are:</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'># Case 1: exact match between request uri and unprotected page</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'># Case 2: longest path prefix match, beginning / and ending /*</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'># Case 3: extension match, beginning *.</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'># Default: requested resource must be validated by CSRFGuard</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>In your case you seem to have used wildcard in an unsupported manner "/login*" . Perhaps you could specify the exact uri "drbms/login.seam"</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Let me know if you have any luck.</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Thanks</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Tom</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>From:  <</span><a href="mailto:owasp-csrfguard-bounces@lists.owasp.org" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>mailto:owasp-csrfguard-bounces@lists.owasp.org</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>></span><o:p></o:p></p><p><a href="mailto:owasp-csrfguard-bounces@lists.owasp.org" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>owasp-csrfguard-bounces@lists.owasp.org</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> [ <</span><a href="mailto:owasp-csrfguard-bounces@lists.owasp.org" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>mailto:owasp-csrfguard-bounces@lists.owasp.org</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>></span><o:p></o:p></p><p><a href="mailto:owasp-csrfguard-bounces@lists.owasp.org" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>mailto:owasp-csrfguard-bounces@lists.owasp.org</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>] On Behalf Of <</span><a href="mailto:ray@allthisisthat.com" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>mailto:ray@allthisisthat.com</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>></span><span lang=EN-IN> </span><a href="mailto:ray@allthisisthat.com" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>ray@allthisisthat.com</span></a><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Sent: 16 July 2013 21:44</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>To:  <</span><a href="mailto:owasp-csrfguard@lists.owasp.org" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>mailto:owasp-csrfguard@lists.owasp.org</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>></span><o:p></o:p></p><p><a href="mailto:owasp-csrfguard@lists.owasp.org" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>owasp-csrfguard@lists.owasp.org</span></a><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Subject: [Owasp-csrfguard] can't get it to work</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>I am unable to get the CsrfGuard filter to work.  Regardless of the properties I set, the app tries to go to the login page, and I get this log</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>message:</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>[Tue Jul 16 13:08:38 PDT 2013] [Error] Potential Cross-Site Request Forgery</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>(CSRF) attack thwarted (user:, ip:127.0.0.1, uri:/drbms/login.seam, error:required token is missing from the request)</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Obviously I am doing something wrong.  Here is my configuration file</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>org.owasp.csrfguard.Logger=org.owasp.csrfguard.log.ConsoleLogger</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>org.owasp.csrfguard.UseNewTokenLandingPage=true</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>org.owasp.csrfguard.NewTokenLandingPage=/NewTokenLandingPage.html</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>org.owasp.csrfguard.TokenPerPage=true</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>org.owasp.csrfguard.TokenPerPagePrecreate=false</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>org.owasp.csrfguard.Ajax=false</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>org.owasp.csrfguard.unprotected.Index=/login*</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>org.owasp.csrfguard.action.Log=org.owasp.csrfguard.action.Log</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>org.owasp.csrfguard.action.Log.Message=Potential Cross-Site Request Forgery</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>(CSRF) attack thwarted (user:%user%, ip:%remote_ip%, uri:%request_uri%,</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>error:%exception_message%)</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>org.owasp.csrfguard.TokenName=OWASP_CSRFTOKEN</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>org.owasp.csrfguard.SessionKey=OWASP_CSRFTOKEN</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>org.owasp.csrfguard.TokenLength=32</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>org.owasp.csrfguard.PRNG=SHA1PRNG</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>When the server starts, I see the config properties output to the console, so I know the config file is being read correctly.</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>I have tried various combinations of using a NewTokenLandingPage with the login page protected, and un-protecting the login page but not using a New Token Landing Page.  Also, I have seen no info on what the New Token Landing Page needs to do - If I can ever get it to appear, my guess is that it needs to redirect to the login page.  Is that correct?  Also, all the examples use jsp, not facelets.  Are there any issues with this difference?  I built the project from source using the latest code.</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Any help you could offer would be greatly appreciated.</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Thank you,</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Ray Clough</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>-------------- next part --------------</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>An HTML attachment was scrubbed...</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>URL: <</span><a href="http://lists.owasp.org/pipermail/owasp-csrfguard/attachments/20130717/ba23fb5f/attachment-0001.html" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>http://lists.owasp.org/pipermail/owasp-csrfguard/attachments/20130717/ba23fb5f/attachment-0001.html</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>></span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>------------------------------</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Message: 2</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Date: Wed, 17 Jul 2013 00:58:23 +0100</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>From: "Tom Barber" <</span><a href="mailto:tom.a.barber@gmail.com" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>tom.a.barber@gmail.com</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>></span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>To: <</span><a href="mailto:ray@allthisisthat.com" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>ray@allthisisthat.com</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>></span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Cc:</span><span lang=EN-IN> </span><a href="mailto:owasp-csrfguard@lists.owasp.org" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>owasp-csrfguard@lists.owasp.org</span></a><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Subject: Re: [Owasp-csrfguard] can't get it to work</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Message-ID: <</span><a href="mailto:000401ce8280$5bbed1a0$133c74e0$@gmail.com" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>000401ce8280$5bbed1a0$133c74e0$@gmail.com</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>></span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Content-Type: text/plain; charset="us-ascii"</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>P.S. I meant "/drbms/img/*" - I found that you usually need to include the context root </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>From: Tom Barber [</span><a href="mailto:tom.a.barber@gmail.com" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>mailto:tom.a.barber@gmail.com</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>]</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Sent: 17 July 2013 00:27</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>To:</span><span lang=EN-IN> </span><a href="mailto:ray@allthisisthat.com" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>ray@allthisisthat.com</span></a><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Cc:</span><span lang=EN-IN> </span><a href="mailto:owasp-csrfguard@lists.owasp.org" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>owasp-csrfguard@lists.owasp.org</span></a><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Subject: RE: [Owasp-csrfguard] can't get it to work</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Hi Ray, Glad that helped!</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>I'm no expert in CSRFGuard (only started trying it out myself recently as a POC), but when I faced a similar issue I decided that I didn't really care about protecting images, so what I did was use the:</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'># Case 2: longest path prefix match, beginning / and ending /*</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>So in the example you provided, that would be:</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>"/img/*"</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>This unprotects all files within the img directory. Another option would be</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>for:</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'># Case 3: extension match, beginning *.</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>"*.gif" for each img extension type, perhaps useful if you have images in many different locations - though your example suggests otherwise.</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>As for leaving the login page unprotected, I don't think that is a problem (again, im no expert though..) a CSRF attack against a login page would only be able to potentially log a user into the application if valid parameters are supplied in the malicious request and valid users need to be able to access the site via the login screen and they wont have a token when they first visit -  though I'm not familiar with the newtokenlandingpage, which could be the alternative solution for all I know :)</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Good luck!</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Tom</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>From:</span><span lang=EN-IN> </span><a href="mailto:ray@allthisisthat.com" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>ray@allthisisthat.com</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> <</span><a href="mailto:ray@allthisisthat.com" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>mailto:ray@allthisisthat.com</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>> [</span><a href="mailto:ray@allthisisthat.com" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>mailto:ray@allthisisthat.com</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>]</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Sent: 16 July 2013 23:30</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>To: Tom Barber</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Cc: Clough_Ray_allthisisthat;</span><span lang=EN-IN> </span><a href="mailto:owasp-csrfguard@lists.owasp.org" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>owasp-csrfguard@lists.owasp.org</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> <</span><a href="mailto:owasp-csrfguard@lists.owasp.org" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>mailto:owasp-csrfguard@lists.owasp.org</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>></span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Subject: RE: [Owasp-csrfguard] can't get it to work</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>You Rule!  It does indeed work, but now all my requests for images, css, etc</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>all fail with missing token messages.  I tried adding the config property</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>org.owasp.csrfguard.Ajax=true, but this makes no difference.  I still get a</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>ton of messages like: Potential Cross-Site Request Forgery (CSRF) attack</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>thwarted (user:, ip:127.0.0.1, uri:/drbms/img/sort_down.gif,</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>error:required token is missing from the request).  What am I missing now?</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Any ideas?</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Also, I am now leaving the login page unprotected, which can't be a very</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>good idea.  Is there a better method using the NewTokenLandingPage?  I still</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>have that config setting, but it never goes there.  Should the</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>NewTokenLandingPage redirect to the login page, or what does it do?  There</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>isn't much discussion of this in the documentation, AFAIK.</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Thanks very much for the help so far - there was some danger of me going</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>berserk, which is now receding into the distance.</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>- Ray Clough</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>---------------------------- Original Message ----------------------------</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Subject: RE: [Owasp-csrfguard] can't get it to work</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>From: "Tom Barber" </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Date: Tue, July 16, 2013 2:30 pm</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>To:</span><span lang=EN-IN> </span><a href="mailto:ray@allthisisthat.com" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>ray@allthisisthat.com</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> <</span><a href="mailto:ray@allthisisthat.com" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>mailto:ray@allthisisthat.com</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>> </span><o:p></o:p></p><p><a href="mailto:owasp-csrfguard@lists.owasp.org" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>owasp-csrfguard@lists.owasp.org</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> <</span><a href="mailto:owasp-csrfguard@lists.owasp.org" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>mailto:owasp-csrfguard@lists.owasp.org</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>--------------------------------------------------------------------------</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>{C} </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Hi Ray,</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>I'm not certain this is the case, but I believe I know the problem. If you</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>look at the comments above the unprotected section of the property files the</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>options it gives you are:</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'># Case 1: exact match between request uri and unprotected page</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'># Case 2: longest path prefix match, beginning / and ending /*</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'># Case 3: extension match, beginning *.</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'># Default: requested resource must be validated by CSRFGuard</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>In your case you seem to have used wildcard in an unsupported manner</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>"/login*" . Perhaps you could specify the exact uri "drbms/login.seam"</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Let me know if you have any luck.</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Thanks</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Tom</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>From:  <</span><a href="mailto:owasp-csrfguard-bounces@lists.owasp.org" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>mailto:owasp-csrfguard-bounces@lists.owasp.org</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>></span><o:p></o:p></p><p><a href="mailto:owasp-csrfguard-bounces@lists.owasp.org" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>owasp-csrfguard-bounces@lists.owasp.org</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> [</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'><</span><a href="mailto:owasp-csrfguard-bounces@lists.owasp.org" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>mailto:owasp-csrfguard-bounces@lists.owasp.org</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>></span><o:p></o:p></p><p><a href="mailto:owasp-csrfguard-bounces@lists.owasp.org" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>mailto:owasp-csrfguard-bounces@lists.owasp.org</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>] On Behalf Of</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'><</span><a href="mailto:ray@allthisisthat.com" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>mailto:ray@allthisisthat.com</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>></span><span lang=EN-IN> </span><a href="mailto:ray@allthisisthat.com" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>ray@allthisisthat.com</span></a><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Sent: 16 July 2013 21:44</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>To:  <</span><a href="mailto:owasp-csrfguard@lists.owasp.org" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>mailto:owasp-csrfguard@lists.owasp.org</span></a><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>></span><o:p></o:p></p><p><a href="mailto:owasp-csrfguard@lists.owasp.org" target="_blank" title="This external link will open in a new window"><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>owasp-csrfguard@lists.owasp.org</span></a><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Subject: [Owasp-csrfguard] can't get it to work</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>I am unable to get the CsrfGuard filter to work.  Regardless of the</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>properties I set, the app tries to go to the login page, and I get this log</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>message:</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>[Tue Jul 16 13:08:38 PDT 2013] [Error] Potential Cross-Site Request Forgery</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>(CSRF) attack thwarted (user:, ip:127.0.0.1,</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>uri:/drbms/login.seam, error:required token is missing from the request)</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Obviously I am doing something wrong.  Here is my configuration file</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>org.owasp.csrfguard.Logger=org.owasp.csrfguard.log.ConsoleLogger</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>org.owasp.csrfguard.UseNewTokenLandingPage=true</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>org.owasp.csrfguard.NewTokenLandingPage=/NewTokenLandingPage.html</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>org.owasp.csrfguard.TokenPerPage=true</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>org.owasp.csrfguard.TokenPerPagePrecreate=false</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>org.owasp.csrfguard.Ajax=false</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>org.owasp.csrfguard.unprotected.Index=/login*</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>org.owasp.csrfguard.action.Log=org.owasp.csrfguard.action.Log</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>org.owasp.csrfguard.action.Log.Message=Potential Cross-Site Request Forgery</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>(CSRF) attack thwarted (user:%user%, ip:%remote_ip%, uri:%request_uri%,</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>error:%exception_message%)</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>org.owasp.csrfguard.TokenName=OWASP_CSRFTOKEN</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>org.owasp.csrfguard.SessionKey=OWASP_CSRFTOKEN</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>org.owasp.csrfguard.TokenLength=32</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>org.owasp.csrfguard.PRNG=SHA1PRNG</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>When the server starts, I see the config properties output to the console,</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>so I know the config file is being read correctly.</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>I have tried various combinations of using a NewTokenLandingPage with the</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>login page protected, and un-protecting the login page but not using a New</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Token Landing Page.  Also, I have seen no info on what the New Token Landing</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Page needs to do - If I can ever get it to appear, my guess is that it needs</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>to redirect to the login page.  Is that correct?  Also, all the examples use</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>jsp, not facelets.  Are there any issues with this difference?  I built the</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>project from source using the latest code.</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Any help you could offer would be greatly appreciated.</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Thank you,</span><o:p></o:p></p><p><span lang=EN-IN style='font-family:"Calibri","sans-serif"'>Ray Clough</span><o:p></o:p></p></div><p> <o:p></o:p></p></div></body></html>