Category:OWASP Enterprise Security API

{{ProjectTabs | Proj_About=



Proj_Documentation= More About OWASP ESAPI


 * ESAPI interface documentation (JavaDocs)
 * Project presentation (PowerPoint)
 * Video presentation (YouTube)
 * One Page Datasheet (PDF, Word)
 * One page technical explanation of how ESAPI works (PDF)

Related projects


 * OWASP Top Ten
 * OWASP Application Security Verification Standard
 * XSS (Cross Site Scripting) Prevention Cheat Sheet

Java EE
Java Edition of the OWASP ESAPI Toolkit - Release Quality


 * The Java EE version of ESAPI is being lead by Jeff Williams. Feel free to contact [mailto:jeff.williams@owasp.org him] for further details.

We are seeking organizations willing to pilot ESAPI and work with us to make this library better. Please contact jeff.williams@owasp.org for more information. If you're interested in application security, please join the OWASP ESAPI mailing list and help make ESAPI better!

Welcome to the ESAPI Java Edition

This document provides information about the Java Edition of OWASP ESAPI. The topics below cover system requirements, additional product information, and application notes. For information about the new features of this release, known issues, resolved issues, and limitations, refer to the Release notes.

For all downloads and project files, please visit http://code.google.com/p/owasp-esapi-java


 * Problems with the ESAPI may be reported here
 * The current ESAPI JAR has been built for Java 1.5+. Please see ESAPI-Building

Running Demo App

The ESAPI Demo application has been named The ESAPI Swingset. More information about Swingset is available here.

ESAPI Demo application - The ESAPI Swingset

System Requirements

Any webserver that has approximately six megabytes of available disk space, and properly supports Java, such as Apache or Internet Information Services (IIS). The following is required to be installed on the server:

Java v1.5 or higher is required. There are no settings that are required to be set correctly in your properties files to use ESAPI.

Dependencies

There are no dependencies on the ESAPI interfaces other than standard Java EE. However, the reference implementation does have dependencies that are detailed below. The reference implementation takes advantage of a few existing libraries:


 * DefaultAccessController needs…
 * Commons-Configuration 1.5


 * DefaultValidator needs…
 * AntiSamy 1.2 (there may be a few transitive dependencies here)
 * NekoHTML 0.9.5
 * Xerces 2.9.1


 * Log4J Logger needs…
 * Log4j 1.2.12


 * DefaultHTTPUtilities needs…
 * Commons-FileUpload 1.2


 * WAF needs
 * XOM 1.0 (there may be a few transitive dependencies here)
 * Commons-FileUpload 1.2

.NET
.NET Edition of the OWASP ESAPI Toolkit - Version 0.2 is released


 * The .NET version of ESAPI is being lead by Alex Smolen. Feel free to contact him at (me AT AlexSmolen DOT com) for more information.
 * If you're interested in application security, please join the OWASP ESAPI mailing list and help make ESAPI better!

OWASP ESAPI - .NET Edition ReadMe

Release 0.2: August 2009

Welcome to the .NET Edition of OWASP ESAPI v0.2

This document provides information about the .NET Edition of OWASP ESAPI. The topics below cover system requirements, additional product information, and application notes.

The code for the ESAPI is currently in Google Code.

Download the latest .NET ESAPI library binary from Google Code here.

Download the latest .NET ESAPI documentation from Google Code here. It is a zipped .chm (help) file.

You can also browse the .NET ESAPI documentation here

To download and work with the source you must use an SVN tool.

AnkhSVN is a free SVN tool that integrates with Visual Studio.

You can also browse the source.

System Requirements

The solution is created with VS 2008 and .NET 3.5. However, the actual code should be compatible with .NET 2.0, so it should be simple to get the code to compile in most environments.

Other Requirements

The .NET Edition of OWASP ESAPI includes a reference implementation which may be tailored or replaced, according to your organization's needs.

You must also download download and install the latest version of the AntiXss library.

Server Recommendations

None

Obtaining the .NET Edition of OWASP ESAPI

There are a couple of ways to get started with the .NET ESAPI.

If you simply want to start using the functionality, you can download the assembly from [ Google Code]. You will also need to add the appropriate configuration (see here).

You can download the solution from Google Code with SVN.

You will need to download and install the AntiXss library separately, in order to respect the code licensing.

The SwingSet application requires you to login - just register a username and go. You also need to supply a SMTP host in the web.config file in SwingSet in order to register a user, so that you can get an activation email. I might change this in the released version, since it's sort of a pain. You can just use the external SMTP server for an email account you own and use that - i.e.

     

OWASP ESAPI - .NET Edition Release Notes

Release 0.2

August 2009

Welcome to the .NET Edition of OWASP ESAPI v0.2

This document provides information about .NET Edition of OWASP ESAPI v0.2. Browse through the topics below to find out about new features, known issues and limitations for this release.

Information specific to the changes in this release are captured in this document set. For all other information and for feature details, see the ESAPI programming manual.

New features

This release improve significanlty on the first release. The following components have been redesigned and reimplemented:


 * AccessController
 * AccessReferenceMap
 * Encoder
 * Encryptor
 * Esapi
 * HttpUtilities
 * IntrusionDetector
 * Logger
 * Randomizer
 * SecurityConfiguration
 * Validator

The SwingSet application has also been introduced, to demonstrate how to use the ESAPI as well as showcase other ASP.NET security bet practices.

Fixed in this release


 * All components have been redesigned - there have been major changes since v0.1.

Known issues

Upgrading from earlier releases
 * Canonicalization support is incomplete - only some Codecs support decoding.
 * There are only a few ValidationRules.
 * AccessController implementation does not provide policy storage.


 * This version is an entirely different code base. Please completely upgrade all existing implementations.

Classic ASP
Classic ASP Edition of the OWASP ESAPI Toolkit - Alpha release is released
 * The Classic ASP version of ESAPI is being lead by Juan C Calderon. Feel free to contact him at johnccr (at) yahoo.com
 * join our OWASP Classic ASP Security Project Mailing List to be posted on the progress of the project or to contact us.
 * We are working on minor fixes and documentation to release the first beta version of the software. Volunteers wanted!

OWASP ESAPI - Classic ASP Edition ReadMe

Release 0.9

March 2009 Welcome to the Classic ASP Edition of OWASP ESAPI v0.9

This document provides information about the Classic ASP Edition of OWASP ESAPI. The topics below cover system requirements, additional product information, and application notes.

For information about the new features of this release, known issues, resolved issues, and limitations, refer to the Release notes.

System Requirements


 * Microsoft .NET Framework 2.0

Other Requirements

The Classic ASP Edition of OWASP ESAPI includes a reference implementation (look for  file at Classic_ASP_Security_Project) which may be tailored or replaced, according to your organization's needs.

Server Recommendations

There is no specific recommendation

Obtaining the Classic ASP Edition of OWASP ESAPI

You can download the latest release of the Classic ASP Edition of OWASP ESAPI from the Google Code download page

When you download the source files, make sure that you keep the directory structure.

OWASP ESAPI - Classic ASP Edition Release Notes

Release 0.9

March 2009

Welcome to the Classic ASP Edition of OWASP ESAPI v0.9

This document provides information about Classic ASP Edition of OWASP ESAPI v0.9. Browse through the topics below to find out about new features, known issues and limitations for this release.

New features

This release includes the following new features:


 * Implementation of most of the ESAPI .NET version for Classic ASP technology, including those for Access Control, Encoding, Input Validation, Encryption and much more (Authentication class was fully implemented yet)
 * Sample Classic ASP page demonstrating the use of the different classes and methods

Fixed in this release


 * Not applicable. This is the first release!

Known issues


 * You might receive a compilation error when instantiating the  class
 * You have to copy the web.config file to the IIS worker folder. For example to  in Windows Vista

Upgrading from earlier releases


 * Not applicable. This is the first release!

PHP
PHP Edition of the OWASP ESAPI Toolkit - First release is under development
 * The PHP version of ESAPI is being lead by Andrew van der Stock. Feel free to contact [mailto:vanderaj@owasp.org him] for further details.
 * Details below will be filled in as work progresses. Volunteers wanted!

OWASP ESAPI - PHP Edition ReadMe

Release 0.1

May 2009

Welcome to the PHP Edition of OWASP ESAPI v0.1

This document provides information about the PHP Edition of OWASP ESAPI. The topics below cover system requirements, additional product information, and application notes.

For information about the new features of this release, known issues, resolved issues, and limitations, refer to the Release notes.

System Requirements

Any webserver that has approximately six megabytes of available disk space, and properly supports PHP, such as Apache or Internet Information Services (IIS). The following is required to be installed on the server:

PHP 5.2.9-2 or higher is required. There are no settings that are required to be set correctly in your php.ini to use ESAPI.

Other Requirements

The PHP Edition of OWASP ESAPI includes a reference implementation which may be tailored or replaced, according to your organization's needs.

Server Recommendations

There are no platform-specific server recommentations.

Obtaining the PHP Edition of OWASP ESAPI

You can download the latest release of the PHP Edition of OWASP ESAPI from the Google Code download page here

When you download the source files, make sure that you keep the directory structure.

OWASP ESAPI - PHP Edition Release Notes

Release 0.1

May 2009

Welcome to the PHP Edition of OWASP ESAPI v0.1

This document provides information about PHP Edition of OWASP ESAPI v0.1. Browse through the topics below to find out about new features, known issues and limitations for this release.

Information specific to the changes in this release are captured in this document set. For all other information and for feature details, see the ESAPI programming manual.

New features

This release includes the following new features:


 * ESAPI main class
 * All interfaces (even those that are stubbed out)
 * AccessReferenceMap
 * Exceptions (i.e. everything in errors/)
 * Encoder and everthing in codecs/
 * HTTP Utilities
 * String Utilities
 * Validator

Fixed in this release


 * Not applicable. This is the first release!

Known issues


 * Tags. There's no equivalent in the PHP world.

Upgrading from earlier releases


 * Not applicable. This is the first release!

ColdFusion/CFML
ColdFusion/CFML Edition of the OWASP ESAPI Toolkit - First release is under development
 * The ColdFusion/CFML version of ESAPI is being lead by Jason Dean (jason at 12robots dot com) and Bill Shelton (billshelton at comcast dot net). Feel free to contact either person for further details.

OWASP ESAPI - ColdFusion/CFML Edition

Release (TBD): May, 2009

Welcome to the ColdFusion/CFML Edition of OWASP ESAPI (v.TBD)

The ColdFusion/CFML edition of ESAPI will provide ESAPI functionality for developers using CFML. It is the project's intent to support Adobe ColdFusion, Railo, and Open BlueDragon. Development focus will be placed on CFML frameworks wishing to integrate CFESAPI.

Status

Development is currently underway. Roadmap and preliminary source code will be available shortly at the Google Code project home.

Contribute

Any developers, framework providers, or CFML engine contributors interested in contributing, using and testing, please contact the project owners above and join the Google mailing list.

Python
Python Edition of the OWASP ESAPI Toolkit - First release is under development
 * The Python version of ESAPI is being lead by Craig Younkins. Feel free to contact [mailto:craig.younkins@owasp.org him] for further details.
 * We are currently looking for contributors. If you are interested in working on ESAPI on Python, please join our mailing list or send me an [mailto:craig.younkins@owasp.org email].

OWASP ESAPI - Python Edition

Welcome to the Python Edition of OWASP ESAPI v0.1

Version 0.1 of the Python edition of ESAPI is currently under development. Take a look at our Google Code site to clone the Mercurial repository or submit bugs. Documentation for the API is available here.

Haskell
Haskell Edition of the OWASP ESAPI Toolkit - First release is under development


 * The Haskell version of ESAPI is being lead by Sigbjorn Finne. Feel free to contact him at sof 'AT' galois.com for further details.
 * Details below will be filled in as work progresses. Volunteers wanted!

OWASP ESAPI - Haskell Edition ReadMe

Sigbjorn (and Galois, who is his employer) are contributors to the core Haskell language. The intent of this effort is to make ESAPI for Haskell part of Haskell itself.

|

Proj_Mail= Project News Project Mail List Subscribe here [mailto:owasp-esapi@lists.owasp.org Use here] |
 * ESAPI Python version project possibly starting up. Please contact jeff.williams@owasp.org for more information.
 * ESAPI Java 2.0rc1 is nearing completion. Release in a few weeks. Please check SVN and send any last minute requests to the ESAPI list.
 * We've had a request for an ESAPI ColdFusion edition. If there are any interested developers, please contact jeff.williams@owasp.org to volunteer.
 * ESAPI has been through a line-by-line review by a major systems integrator. We will post all the findings soon but they are pretty minor.
 * OWASP ESAPI has been integrated into the OWASP Secure Software Contract Annex in the OWASP Legal Project.
 * OWASP ESAPI is presented by Jeff Williams at OWASP Software Assurance Day DC 2009 in conjunction with the Software Assurance Forum sponsored by the US Department of Homeland Security, Department of Defense and National Institute of Standards and Technology.

Proj_Related= OWASP Top Ten |

Proj_Contributors=

}} ''This project licensed under the BSD license, which is very permissive and about as close to public domain as is possible. You can use or modify ESAPI however you want, even include it in commercial products.