Category:OWASP CSRFGuard Project
Just when developers are starting to run in circles over Cross Site Scripting, the 'sleeping giant' awakes for yet another web-catastrophe. Cross-Site Request Forgery (CSRF) is an attack whereby the victim is tricked into loading information from or submitting information to a web application for which they are currently authenticated. The problem is that the web application has no means of verifying the integrity of the request. The OWASP CSRFGuard Project attempts to address this issue through the use of unique request tokens.
Click here for more information regarding the design and implementation of CSRFGuard.
13:35, 13 June 2008 (EDT) OWASP CSRFGuard 2.2 Beta Released!
In my spare time, I had been working on several minor updates to the OWASP CSRFGuard 2.0 release. Several of these updates address bugs that were identified in the previous release. Currently, I am spending a significant amount of time working on internal Aspect Security projects and have not had enough time to complete the release as I had wanted. One particular area that needs work is the inclusion of automated JUnit test cases. Instead of leaving the source lay untouched on my laptop, I've decided to make it available for people to test. Although this release is officially "Beta", it is very stable and developers are encouraged to consider testing and upgrading to the latest version. The reason for this push is that there are a couple of bugs that were never caught in 2.0. More information regarding the updates to 2.2 Beta can be found here.
You can access the SVN repository online at: http://owaspcsrfguard.googlecode.com/svn/trunk/
Click here to download the latest version of the OWASP CSRFGuard 1.x series.
Click here to download the latest OWASP CSRFGuard 2.0 binary.
Click here to download the latest OWASP CSRFGuard 2.0 source, binary, and sample configuration files (Recommended).
Click here to download the author's presentation at the 2007 OWASP conference in San Jose about the dangers of CSRF and a brief description of both CSRF Guard and CSRF Tester.
Version 2.2 Beta
Click here to download the latest OWASP CSRFGuard 2.2 binary.
Click here to download the latest OWASP CSRFGuard 2.2 bundle which consists of source, binary, and sample configuration files. This includes the CSRFGuard properties file, ant build/deploy script, as well as the JSP tag definition (Recommended).
Click here to download a sample web application that makes use of OWASP CSRFGuard 2.2. This version comes with the CSRFGuard binary in WEB-INF/lib but it is not guaranteed to be the latest version. Replace it with the download above. The WebContent folder contains several JSP files that were used during testing. One file, "tags.jsp", shows how to use the custom JSP tag to insert the token.
Click here for a detailed change list of the latest version.
Click here for the OWASP CSRFGuard configuration manual.
Click here for OWASP CSRFGuard installation instructions.
Click here for OWASP CSRFGuard tag library usage instructions.
Click here to view the installation instructions of the OWASP CSRFGuard 1.0 series.
Click here to view the installation instructions of the OWASP CSRFGuard 2.0 series.
Click here to view the road map for the latest development version of CSRFGuard. Please feel free to add your own change requests or send me patches/diffs!
CSRF Testing Tool
Check out the OWASP CSRF Tester tool which allows you to test for CSRF vulnerabilities. This tool is also written in Java.
CSRF Prevention Cheat Sheet
Please see the OWASP CSRF Prevention Cheat Sheet for more information on prevention.
Feedback and Participation
We hope you find CSRFGuard useful. Please contribute back to the project by sending your comments, questions, and suggestions to OWASP. Thanks!
There are a small number of other projects that implement the unique random request token concept similar to that of CSRFGuard. They are as follows:
The Open Web Application Security Project is purely an open-source community driven effort. As such, all projects and research efforts are contributed and maintained with an individual's spare time. If you have found this or any other project useful, please support OWASP with a donation.