Category:OWASP Validation Project

=Overview=

Most web application platforms do not include features to validate user input. This leaves many organizations to craft their own validation mechanisms, often incomplete, flawed, and inefficient.

The OWASP Validation Project was created to provide guidance and tools related to validation. Our philosophy is that validation is required for every part of the HTTP request, including headers, query string, cookies, form fields, and hidden fields.

Currently, there are several projects underway to create validation technologies for various platforms. The long term goal is to provide a detailed guide for implementing proper input validation as well as provide validation engines for popular web application environments.

The OWASP Validation Project was created by Jeff Williams and is currently maintained by [mailto:eric.sheridan@owasp.org Eric Sheridan].

= Feedback and Participation: =

We hope you find the OWASP Validation Project useful. Please contribute to the Project by volunteering for one of the Tasks, sending your comments, questions, and suggestions to owasp@owasp.org. To join the OWASP Validation Project mailing list or view the archives, please visit the subscription page.

=News=

'''OWASP Stinger 2.0RC1 Released! - 22:41, 26 September 2006 (EDT)'''

The OWASP Validation Project is proud to announce the immediate availability of OWASP Stinger 2.0 RC1.


 * The Eclipse development project can be downloaded here.
 * The deployment Stinger jar file can be downloaded here.

Change List:


 * The negative security feature has been removed. Unless a collection of negative filter expressions are populated, this feature will remain inactive.
 * Several SVDL modifications: Cookie rules section updated to allow for created and multiple enforced URIs, global section syntax modified, rule sets can contain multiple paths, etc.
 * Major review of source code in reference to cleanliness and performance.

Known Issues:

When attempting to visit the test index.jsp page in the Eclipse project, you must browse to http://localhost/Stinger-2.0-Lite/index.jsp?hidden1=test. There is a test rule in the default SVDL file which requires the existence of the 'hidden1' parameter. Without this parameter, your session will be invalidated and you will be redirected to the error page found at http://localhost/Stinger-2.0-Lite/error.html

The OWASP Stinger manual should be consulted for development and deployment guidance. Please bear in mind that the manual is still under construction.

'''OWASP Stinger Project Needs Your Help! - 16:37, 12 September 2006 (EDT)'''

One of the new features available in Stinger 2.0 is the ability to apply a negative security model on top of a positive security model. There are cases when the positive model becomes too open and a negative security model is necessary. The OWASP Stinger Project is in need of regular expressions which can be used to thwart potential input validation attacks, such as cross site scripting and SQL Injection. One such example would look for the words document.cookiein the parameter value. This obvious cross site scripting attack would then be caught by the negative security model and the appropriate action(s) taken place. If you have any regular expressions which you would like to donate to the OWASP Validation Project, please contact [mailto:eric.sheridan@owasp.org Eric Sheridan].

'''OWASP Validation Documentation now maintained in Mediawiki! - 16:18, 12 September 2006 (EDT)'''

In an attempt to fully open the validation documentation to the OWASP community, the paper will now be maintained via Mediawiki. The online version of the validation documentation can be found here. We encourage contributions and edits. We will periodically build word document version of the validation documentation when appropriate.

Announcing Minor Releases for both Stinger and the Validation Documentation - 11:15, 14 August 2006 (EDT)

The OWASP Validation Project is pleased to announce the immediate availability of maintenance releases for both Stinger and the Validation Documentation.

Check out their respective project pages for more information.

'''Stinger 2.0 Beta I and OWASP Validation Documentation Released! - 18:53, 4 August 2006 (EDT)'''

The OWASP Validation Project is pleased to announce the immediate availability of Stinger 2.0 Beta I as well as a rough draft of the OWASP Validation Documentation. Both projects are the result of a tireless effort to provide a clear and defined process of implementing input validation in web applications. The Validation Project would like to thank everyone for their continuing support. More information on can be found at the Stinger project page and the OWASP Validation Documentation project page.


 * Note: These projects are still in the development stage. Testing and feedback would be greatly appreciated!

Fortify Software Donates Vulnerability Research Project - 09:35, 31 July 2006 (EDT)

Fortify software as graciously donated a comprehensive set of software security research material to OWASP. The research material provides an in-depth analysis of 115 software vulnerabilities which can be found at the OWASP Honeycomb Project homepage. The category of particular interest is, of course, the Input Validation Vulnerability. The OWASP Community is strongly encouraged to donate to this milestone project. Once the current set of projects is completed, it is the goal of the OWASP Validation Project to contribute to the vast and quickly growing OWASP Honeycomb Project.

OWASP Validation Documentation Delayed - 09:07, 23 July 2006 (EDT)

Unfortunately, the OWASP Validation Documentation has been delayed for roughly a week. The good news, however, is the reason for the delay. A new project, entitled Poseidon, is currently in development. Poseidon will greatly simplify the generation of an SVDL file through the use of your own web based application! Look for a rough draft of the validation documentation near the end of the week.

'''Project Stinger 2.0 is Underway! - 11:44, 10 July 2006 (EDT)'''

One of the goals of the OWASP Validation Project is updating and improving the Java validation engine, Stinger. This update will include the many submitted ideas/patches over the past several years on top of a completely rewritten engine. If you have any ideas/patches that you would like to have reviewed for submission, please contact [mailto:eric.sheridan@owasp.org Eric Sheridan].

OWASP Validation Finds a New Project Lead - 11:44, 10 July 2006 (EDT)

Thanks to Jeff Williams, Eric Sheridan is now the lead of the OWASP Validation Project. The project will be moving forward in the next few weeks. Refer to the road map for short term goals and deadlines. Stay tuned!

=Project Roadmap=

The three major goals of the OWASP Validation Project are the following:


 * build an input validation guide
 * provide and implement input validation mechanisms for various platforms
 * rewrite Stinger to incorporate the design principles in the guide

The OWASP Validation Roadmap contains the latest information as to project goals and targeted release dates.

=Guide to Building Input Validation=

One of the major goals of the OWASP Validation Project is to provide clear and detailed documentation on building input validation mechanisms for your web application needs. In the near future, this section will contain such documentation. Check back soon!

=Implementation=

The second major goal of the OWASP Validation Project is to provide input validation mechanisms which adhere to one or more of the design principles outlined in the 'Input Validation Guide'. If you have a project which fits this requirement, please submit it via email to the project lead.

OWASP Validation Documentation
The primary purpose of the OWASP Validation Documentation project is to provide the design principles necessary to build an effective input validation engine. More can be found here.

Java
The Stinger library is a full J2EE Validation Engine which strongly adheres to the principle's outline in the Validation Documentation. More information can be found on the Stinger Project page at http://www.owasp.org/index.php/OWASP_Stinger_Project

Most modern Java web frameworks include their own data validation features. All of these can validate user data in GET and POST requests, but usually do not validate cookie data. Web frameworks that provide their own validation features include:
 * Apache Struts
 * WebWork
 * Spring MVC
 * Java Server Faces
 * JBoss Seam

.NET
One of the goals of the OWASP Validation Project is to implement Stinger 2.0 on the .NET platform.

If you are interested in leading this project, please contact [mailto:eric.sheridan@owasp.org Eric Sheridan].

Please refer to the project road map for an estimated time of arrival.

PHP
The PHP Filters Project provides an API framework for validating input for various purposes. The project can be found here.

OWASP Recently released the OWASP Top 5, an article illustrating several attack vectors against PHP applications.

The majority of the PHP Top 5 can be alleviated with a solid and well defined validation mechanism.

RegEx Repository
The OWASP RegEx Repository contains a multitude of regular expressions for common data types. Developers implementing input validation engines should review these regular expressions. Save the time of developing a complicated regular expression that currently exists!

=Project Sponsor=

The OWASP Validation project is sponsored by http://www.owasp.org/images/d/d1/Aspect_logo.gif