<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.owasp.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dan+Amodio</id>
		<title>OWASP - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.owasp.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dan+Amodio"/>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php/Special:Contributions/Dan_Amodio"/>
		<updated>2026-04-23T23:44:42Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.27.2</generator>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Expression_Language_Injection&amp;diff=149900</id>
		<title>Expression Language Injection</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Expression_Language_Injection&amp;diff=149900"/>
				<updated>2013-04-15T19:32:53Z</updated>
		
		<summary type="html">&lt;p&gt;Dan Amodio: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vulnerability}}&lt;br /&gt;
&lt;br /&gt;
Last revision (mm/dd/yy): '''{{REVISIONMONTH}}/{{REVISIONDAY}}/{{REVISIONYEAR}}'''&lt;br /&gt;
&lt;br /&gt;
[[ASDR_TOC_Vulnerabilities|Vulnerabilities Table of Contents]]&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
Expression Language (EL) Injection happens when attacker controlled data enters an EL interpreter. &lt;br /&gt;
&lt;br /&gt;
With EL implementations prior to 2.2, attacker can recover sensitive server side information available through implicit objects. This includes model objects, beans, session scope, application scope, etc. The EL 2.2 spec allows method invocation, which permits an attacker to execute arbitrary code within context of the application. This can manipulate application functionality, expose sensitive data, and branch out into system code access-- posing a risk of server compromise.&lt;br /&gt;
&lt;br /&gt;
A specific pattern exists in certain version of the Spring Framework, where Spring JSP tags will double resolve EL. In versions prior to 3.0.6, it is not possible to disable this functionality, and the pattern must be avoided.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Risk Factors==&lt;br /&gt;
&lt;br /&gt;
The likelihood of this issue is '''Medium''', for the following reasons:&lt;br /&gt;
*Certain attack scenarios are not overly sophisticated, although require some skill.&lt;br /&gt;
*Automated tools may begin to pick up on the pattern, increasing the likelihood of discovery. &lt;br /&gt;
*Attackers are highly motivated to discover code execution vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
The overall impact of this issue is '''High''', for the following reasons:&lt;br /&gt;
* An attacker could modify and invoke functionality on the application server.&lt;br /&gt;
* Unauthorized access to data and functionality, as well as account hijacking and remote code execution.&lt;br /&gt;
* Confidentiality, and Integrity concerns from a successful attack.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
=== Spring Message Tag ===&lt;br /&gt;
The Spring Message tag will double resolve Expression Language.&lt;br /&gt;
&lt;br /&gt;
A common pattern of passing URL parameters to the message tag is:&lt;br /&gt;
&lt;br /&gt;
Controller.java&lt;br /&gt;
 @RequestMapping(value=&amp;quot;/&amp;quot;)&lt;br /&gt;
    String index() {&lt;br /&gt;
    	&lt;br /&gt;
    	if ( hasErrors() ) {&lt;br /&gt;
    		return &amp;quot;redirect:/error?msg=error.generic&amp;quot;;&lt;br /&gt;
    	} else {&lt;br /&gt;
    		return &amp;quot;index&amp;quot;;&lt;br /&gt;
    	}&lt;br /&gt;
    	&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
error.jsp&lt;br /&gt;
 &amp;lt;spring:message code=&amp;quot;${param.msg}&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A URL request to the above code of the form:&lt;br /&gt;
 ?msg=${param.test}&amp;amp;test=INJECTION&lt;br /&gt;
&lt;br /&gt;
Will result in the string literal &amp;quot;INJECTION&amp;quot; being passed to the message tag. The application should respond with an exception like:&lt;br /&gt;
&lt;br /&gt;
 No message found under code 'INJECTION' for locale 'en_US'&lt;br /&gt;
&lt;br /&gt;
Accordingly, the attacker could submit methods within the EL like:&lt;br /&gt;
 ?msg=${pageContext.request.getSession().setAttribute(&amp;quot;admin&amp;quot;,true)}&lt;br /&gt;
&lt;br /&gt;
If the container provided EL interpreter does not support static class methods ( java.lang.Runtime.getCurrentRuntime().exec() ), an attacker can use a URLClassLoader to load remote code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Spring Eval Tag ===&lt;br /&gt;
Spring Framework provides a JSP tag that interprets Spring Expression Language (SpEL).&lt;br /&gt;
&lt;br /&gt;
The following code would be vulnerable:&lt;br /&gt;
 &amp;lt;spring:eval expression=&amp;quot;${param.vulnerable}&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A URL of the following form would provide system code access:&lt;br /&gt;
 ?vulnerable=T(java.lang.Runtime).getRuntime().exec(“cmd.exe”)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Attacks]]==&lt;br /&gt;
&lt;br /&gt;
* [[Interpreter Injection]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Vulnerabilities]]==&lt;br /&gt;
&lt;br /&gt;
* [[Reflection injection]]&lt;br /&gt;
* [[Injection problem]]&lt;br /&gt;
&lt;br /&gt;
==Related [[Controls]]==&lt;br /&gt;
Avoid putting user data into an expression interpreter if possible. Otherwise, validate and/or encode the data to ensure it is not evaluated as expression language.&lt;br /&gt;
* [[Input_Validation]]&lt;br /&gt;
&lt;br /&gt;
In the case of Spring Framework, disable the double resolution functionality in versions 3.0.6 and above by placing the following configuration in the application web.xml.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;context-param&amp;gt;&lt;br /&gt;
         &amp;lt;description&amp;gt;Spring Expression Language Support&amp;lt;/description&amp;gt;&lt;br /&gt;
         &amp;lt;param-name&amp;gt;springJspExpressionSupport&amp;lt;/param-name&amp;gt;&lt;br /&gt;
         &amp;lt;param-value&amp;gt;false&amp;lt;/param-value&amp;gt;&lt;br /&gt;
    &amp;lt;/context-param&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Technical Impacts]]==&lt;br /&gt;
* [[Loss of accountability]]&lt;br /&gt;
* [[Loss of availability]]&lt;br /&gt;
* [[Loss of confidentiality]]&lt;br /&gt;
* [[Loss of integrity]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [http://cwe.mitre.org/data/definitions/917.html CWE 917].&lt;br /&gt;
* [http://support.springsource.com/security/cve-2011-2730 Spring Framework: CVE-2011-2730]&lt;br /&gt;
* [http://www.mindedsecurity.com/fileshare/ExpressionLanguageInjection.pdf EL Injection: Information Disclosure]&lt;br /&gt;
* [http://danamodio.com/application-security/discoveries/spring-remote-code-with-expression-language-injection/ EL Injection: Remote Code Execution]&lt;br /&gt;
* [http://jcp.org/aboutJava/communityprocess/mrel/jsr245/index.html JSR245: EL 2.2 Spec]&lt;br /&gt;
&lt;br /&gt;
{{Stub}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Input Validation Vulnerability]]&lt;br /&gt;
[[Category:Vulnerability]]&lt;/div&gt;</summary>
		<author><name>Dan Amodio</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Expression_Language_Injection&amp;diff=149897</id>
		<title>Expression Language Injection</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Expression_Language_Injection&amp;diff=149897"/>
				<updated>2013-04-15T19:21:35Z</updated>
		
		<summary type="html">&lt;p&gt;Dan Amodio: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vulnerability}}&lt;br /&gt;
&lt;br /&gt;
Last revision (mm/dd/yy): '''{{REVISIONMONTH}}/{{REVISIONDAY}}/{{REVISIONYEAR}}'''&lt;br /&gt;
&lt;br /&gt;
[[ASDR_TOC_Vulnerabilities|Vulnerabilities Table of Contents]]&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
Expression Language (EL) Injection happens when attacker controlled data enters an EL interpreter. &lt;br /&gt;
&lt;br /&gt;
With EL implementations prior to 2.2, attacker can recover sensitive server side information available through implicit objects. This includes model objects, beans, session scope, application scope, etc. The EL 2.2 spec allows method invocation, which permits an attacker to execute arbitrary code within context of the application. This can manipulate application functionality, expose sensitive data, and branch out into system code access-- posing a risk of server compromise.&lt;br /&gt;
&lt;br /&gt;
A specific pattern exists in certain version of the Spring Framework, where Spring JSP tags will double resolve EL. In versions prior to 3.0.6, it is not possible to disable this functionality, and the pattern must be avoided.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Risk Factors==&lt;br /&gt;
&lt;br /&gt;
The likelihood of this issue is '''Medium''', for the following reasons:&lt;br /&gt;
*Certain attack scenarios are not overly sophisticated, although require some skill.&lt;br /&gt;
*Automated tools may begin to pick up on the pattern, increasing the likelihood of discovery. &lt;br /&gt;
*Attackers are highly motivated to discover code execution vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
The overall impact of this issue is '''High''', for the following reasons:&lt;br /&gt;
* An attacker could modify and invoke functionality on the application server.&lt;br /&gt;
* Unauthorized access to data and functionality, as well as account hijacking and remote code execution.&lt;br /&gt;
* Confidentiality, and Integrity concerns from a successful attack.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
=== Spring Message Tag ===&lt;br /&gt;
The Spring Message tag will double resolve Expression Language.&lt;br /&gt;
&lt;br /&gt;
A common pattern of passing URL parameters to the message tag is:&lt;br /&gt;
&lt;br /&gt;
Controller.java&lt;br /&gt;
 @RequestMapping(value=&amp;quot;/&amp;quot;)&lt;br /&gt;
    String index() {&lt;br /&gt;
    	&lt;br /&gt;
    	if ( hasErrors() ) {&lt;br /&gt;
    		return &amp;quot;redirect:/error?msg=error.generic&amp;quot;;&lt;br /&gt;
    	} else {&lt;br /&gt;
    		return &amp;quot;index&amp;quot;;&lt;br /&gt;
    	}&lt;br /&gt;
    	&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
error.jsp&lt;br /&gt;
 &amp;lt;spring:message code=&amp;quot;${param.msg}&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A URL request to the above code of the form:&lt;br /&gt;
 ?msg=${param.test}&amp;amp;test=INJECTION&lt;br /&gt;
&lt;br /&gt;
Will result in the string literal &amp;quot;INJECTION&amp;quot; being passed to the message tag. The application should respond with an exception like:&lt;br /&gt;
&lt;br /&gt;
 No message found under code 'INJECTION' for locale 'en_US'&lt;br /&gt;
&lt;br /&gt;
Accordingly, the attacker could submit methods within the EL like:&lt;br /&gt;
 ?msg=${pageContext.request.getSession().setAttribute(&amp;quot;admin&amp;quot;,true)}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Attacks]]==&lt;br /&gt;
&lt;br /&gt;
* [[Interpreter Injection]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Vulnerabilities]]==&lt;br /&gt;
&lt;br /&gt;
* [[Reflection injection]]&lt;br /&gt;
* [[Injection problem]]&lt;br /&gt;
&lt;br /&gt;
==Related [[Controls]]==&lt;br /&gt;
Avoid putting user data into an expression interpreter if possible. Otherwise, validate and/or encode the data to ensure it is not evaluated as expression language.&lt;br /&gt;
* [[Input_Validation]]&lt;br /&gt;
&lt;br /&gt;
In the case of Spring Framework, disable the double resolution functionality in versions 3.0.6 and above by placing the following configuration in the application web.xml.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;context-param&amp;gt;&lt;br /&gt;
         &amp;lt;description&amp;gt;Spring Expression Language Support&amp;lt;/description&amp;gt;&lt;br /&gt;
         &amp;lt;param-name&amp;gt;springJspExpressionSupport&amp;lt;/param-name&amp;gt;&lt;br /&gt;
         &amp;lt;param-value&amp;gt;false&amp;lt;/param-value&amp;gt;&lt;br /&gt;
    &amp;lt;/context-param&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Technical Impacts]]==&lt;br /&gt;
* [[Loss of accountability]]&lt;br /&gt;
* [[Loss of availability]]&lt;br /&gt;
* [[Loss of confidentiality]]&lt;br /&gt;
* [[Loss of integrity]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [http://cwe.mitre.org/data/definitions/917.html CWE 917].&lt;br /&gt;
* [http://support.springsource.com/security/cve-2011-2730 Spring Framework: CVE-2011-2730]&lt;br /&gt;
* [http://www.mindedsecurity.com/fileshare/ExpressionLanguageInjection.pdf EL Injection: Information Disclosure]&lt;br /&gt;
* [http://danamodio.com/application-security/discoveries/spring-remote-code-with-expression-language-injection/ EL Injection: Remote Code Execution]&lt;br /&gt;
* [http://jcp.org/aboutJava/communityprocess/mrel/jsr245/index.html JSR245: EL 2.2 Spec]&lt;br /&gt;
&lt;br /&gt;
{{Stub}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Input Validation Vulnerability]]&lt;br /&gt;
[[Category:Vulnerability]]&lt;/div&gt;</summary>
		<author><name>Dan Amodio</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Expression_Language_Injection&amp;diff=149895</id>
		<title>Expression Language Injection</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Expression_Language_Injection&amp;diff=149895"/>
				<updated>2013-04-15T19:12:07Z</updated>
		
		<summary type="html">&lt;p&gt;Dan Amodio: Initial add for EL Injection, CWE 917&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vulnerability}}&lt;br /&gt;
&lt;br /&gt;
Last revision (mm/dd/yy): '''{{REVISIONMONTH}}/{{REVISIONDAY}}/{{REVISIONYEAR}}'''&lt;br /&gt;
&lt;br /&gt;
[[ASDR_TOC_Vulnerabilities|Vulnerabilities Table of Contents]]&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
Expression Language (EL) Injection happens when attacker controlled data enters an EL interpreter. &lt;br /&gt;
&lt;br /&gt;
With EL implementations prior to 2.2, attacker can recover sensitive server side information available through implicit objects. This includes model objects, beans, session scope, application scope, etc. The EL 2.2 spec allows method invocation, which permits an attacker to execute arbitrary code within context of the application. This can manipulate application functionality, expose sensitive data, and branch out into system code access-- posing a risk of server compromise.&lt;br /&gt;
&lt;br /&gt;
A specific pattern exists in certain version of the Spring Framework, where Spring JSP tags will double resolve EL. In versions prior to 3.0.6, it is not possible to disable this functionality, and the pattern must be avoided.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Risk Factors==&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
=== Spring Message Tag ===&lt;br /&gt;
The Spring Message tag will double resolve Expression Language.&lt;br /&gt;
&lt;br /&gt;
A common pattern of passing URL parameters to the message tag is:&lt;br /&gt;
&lt;br /&gt;
Controller.java&lt;br /&gt;
 @RequestMapping(value=&amp;quot;/&amp;quot;)&lt;br /&gt;
    String index() {&lt;br /&gt;
    	&lt;br /&gt;
    	if ( hasErrors() ) {&lt;br /&gt;
    		return &amp;quot;redirect:/error?msg=error.generic&amp;quot;;&lt;br /&gt;
    	} else {&lt;br /&gt;
    		return &amp;quot;index&amp;quot;;&lt;br /&gt;
    	}&lt;br /&gt;
    	&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
error.jsp&lt;br /&gt;
 &amp;lt;spring:message code=&amp;quot;${param.msg}&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A URL request to the above code of the form:&lt;br /&gt;
 ?msg=${param.test}&amp;amp;test=INJECTION&lt;br /&gt;
&lt;br /&gt;
Will result in the string literal &amp;quot;INJECTION&amp;quot; being passed to the message tag. The application should respond with an exception like:&lt;br /&gt;
&lt;br /&gt;
 No message found under code 'INJECTION' for locale 'en_US'&lt;br /&gt;
&lt;br /&gt;
Accordingly, the attacker could submit methods within the EL like:&lt;br /&gt;
 ?msg=${pageContext.request.getSession().setAttribute(&amp;quot;admin&amp;quot;,true)}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Attacks]]==&lt;br /&gt;
&lt;br /&gt;
* [[Interpreter Injection]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Vulnerabilities]]==&lt;br /&gt;
&lt;br /&gt;
* [[Reflection injection]]&lt;br /&gt;
* [[Injection problem]]&lt;br /&gt;
&lt;br /&gt;
==Related [[Controls]]==&lt;br /&gt;
Avoid putting user data into an expression interpreter if possible. Otherwise, validate and/or encode the data to ensure it is not evaluated as expression language.&lt;br /&gt;
* [[Input_Validation]]&lt;br /&gt;
&lt;br /&gt;
In the case of Spring Framework, disable the double resolution functionality in versions 3.0.6 and above by placing the following configuration in the application web.xml.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;context-param&amp;gt;&lt;br /&gt;
         &amp;lt;description&amp;gt;Spring Expression Language Support&amp;lt;/description&amp;gt;&lt;br /&gt;
         &amp;lt;param-name&amp;gt;springJspExpressionSupport&amp;lt;/param-name&amp;gt;&lt;br /&gt;
         &amp;lt;param-value&amp;gt;false&amp;lt;/param-value&amp;gt;&lt;br /&gt;
    &amp;lt;/context-param&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related [[Technical Impacts]]==&lt;br /&gt;
* [[Loss of accountability]]&lt;br /&gt;
* [[Loss of availability]]&lt;br /&gt;
* [[Loss of confidentiality]]&lt;br /&gt;
* [[Loss of integrity]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [http://cwe.mitre.org/data/definitions/917.html CWE 917].&lt;br /&gt;
* [http://support.springsource.com/security/cve-2011-2730 Spring Framework: CVE-2011-2730]&lt;br /&gt;
* [http://www.mindedsecurity.com/fileshare/ExpressionLanguageInjection.pdf EL Injection: Information Disclosure]&lt;br /&gt;
* [http://danamodio.com/application-security/discoveries/spring-remote-code-with-expression-language-injection/ EL Injection: Remote Code Execution]&lt;br /&gt;
* [http://jcp.org/aboutJava/communityprocess/mrel/jsr245/index.html JSR245: EL 2.2 Spec]&lt;br /&gt;
&lt;br /&gt;
{{Stub}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Input Validation Vulnerability]]&lt;br /&gt;
[[Category:Vulnerability]]&lt;/div&gt;</summary>
		<author><name>Dan Amodio</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=User:Dan_Amodio&amp;diff=149500</id>
		<title>User:Dan Amodio</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=User:Dan_Amodio&amp;diff=149500"/>
				<updated>2013-04-09T19:25:05Z</updated>
		
		<summary type="html">&lt;p&gt;Dan Amodio: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[https://www.owasp.org/index.php/Projects/OWASP_ESAPI_C_Project OWASP ESAPI C] Project Leader&lt;br /&gt;
*[https://www.owasp.org/index.php/Projects/OWASP_ESAPI_C%2B%2B_Project OWASP ESAPI C++] Contributor&lt;br /&gt;
*Mobile security enthusiast&lt;br /&gt;
*Consultant at [http://www.aspectsecurity.com Aspect Security] - [mailto:dan.amodio@aspectsecurity.com dan.amodio@aspectsecurity.com]&lt;/div&gt;</summary>
		<author><name>Dan Amodio</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_ESAPI_C%2B%2B_Project&amp;diff=127213</id>
		<title>OWASP ESAPI C++ Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_ESAPI_C%2B%2B_Project&amp;diff=127213"/>
				<updated>2012-04-01T14:51:51Z</updated>
		
		<summary type="html">&lt;p&gt;Dan Amodio: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== Main  ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Project About ====&lt;br /&gt;
{{:Projects/OWASP ESAPI C++ Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_Project|ESAPI C++ Project]]&lt;br /&gt;
[[Category:OWASP_Tool]]&lt;br /&gt;
[[Category:OWASP_Alpha_Quality_Tool]]&lt;/div&gt;</summary>
		<author><name>Dan Amodio</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=User:Dan_Amodio&amp;diff=124219</id>
		<title>User:Dan Amodio</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=User:Dan_Amodio&amp;diff=124219"/>
				<updated>2012-02-14T22:42:34Z</updated>
		
		<summary type="html">&lt;p&gt;Dan Amodio: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[https://www.owasp.org/index.php/Projects/OWASP_ESAPI_C_Project OWASP ESAPI C] Project Leader&lt;br /&gt;
*[https://www.owasp.org/index.php/Projects/OWASP_ESAPI_C%2B%2B_Project OWASP ESAPI C++] Contributor&lt;br /&gt;
*Consultant at [http://www.aspectsecurity.com Aspect Security]&lt;/div&gt;</summary>
		<author><name>Dan Amodio</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_ESAPI_C_Project&amp;diff=124218</id>
		<title>Projects/OWASP ESAPI C Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_ESAPI_C_Project&amp;diff=124218"/>
				<updated>2012-02-14T22:37:47Z</updated>
		
		<summary type="html">&lt;p&gt;Dan Amodio: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:&amp;lt;includeonly&amp;gt;{{{1}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;Project About&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| project_name = OWASP ESAPI C Project&lt;br /&gt;
| project_home_page = :Category:OWASP Enterprise Security API&lt;br /&gt;
| project_description = This is the C language version of the OWASP ESAPI.&lt;br /&gt;
*ESAPI for C is sponsored by the United States Government&lt;br /&gt;
*An API for helping programmers develop more secure business applications in C.&lt;br /&gt;
*Provides easy to use functions for proper auditing, simple wrappers for cryptographic functions, and more.&lt;br /&gt;
| project_license =&lt;br /&gt;
| leader_name1 = Dan Amodio&lt;br /&gt;
| leader_email1 = dan.amodio@aspectsecurity.com&lt;br /&gt;
| leader_username1 = Dan_Amodio&lt;br /&gt;
| contributor_name1 = David Anderson&lt;br /&gt;
| contributor_email1 = david.anderson@aspectsecurity.com&lt;br /&gt;
| contributor_username1 = &lt;br /&gt;
| pamphlet_link = &lt;br /&gt;
| presentation_link =&lt;br /&gt;
| mailing_list_name = https://lists.owasp.org/mailman/listinfo/owasp-esapi-c&lt;br /&gt;
| project_road_map = &lt;br /&gt;
| links_url1 = http://code.google.com/p/owasp-esapi-c/&lt;br /&gt;
| links_name1 = ESAPI-C Google Code Project&lt;br /&gt;
| links_url2 = http://owasp-esapi-c.googlecode.com/svn/trunk/doc/html/index.html&lt;br /&gt;
| links_name2 = ESAPI-C Documentation&lt;br /&gt;
| release_1 = &lt;br /&gt;
| release_2 = &lt;br /&gt;
| release_3 =&lt;br /&gt;
| release_4 =&lt;br /&gt;
&amp;lt;!--- The line below is for GPC usage only. Please do not edit it ---&amp;gt;&lt;br /&gt;
| project_about_page = Projects/OWASP ESAPI C Project&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category: Project About]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dan Amodio</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_ESAPI_C_Project&amp;diff=122894</id>
		<title>OWASP ESAPI C Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_ESAPI_C_Project&amp;diff=122894"/>
				<updated>2012-01-18T15:13:01Z</updated>
		
		<summary type="html">&lt;p&gt;Dan Amodio: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Project About =&lt;br /&gt;
{{:Projects/OWASP ESAPI C Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_Project|ESAPI C Project]]&lt;br /&gt;
[[Category:OWASP_Tool]]&lt;br /&gt;
[[Category:OWASP_Alpha_Quality_Tool]]&lt;/div&gt;</summary>
		<author><name>Dan Amodio</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Category:OWASP_Enterprise_Security_API&amp;diff=122893</id>
		<title>Category:OWASP Enterprise Security API</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Category:OWASP_Enterprise_Security_API&amp;diff=122893"/>
				<updated>2012-01-18T15:09:52Z</updated>
		
		<summary type="html">&lt;p&gt;Dan Amodio: Fixed tabs (broke with wiki upgrade). Also, there is a bug with tab names that have a period or any special characters.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Home  =&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;66%&amp;quot; | &lt;br /&gt;
! width=&amp;quot;33%&amp;quot; | &lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
ESAPI (The OWASP Enterprise Security API) is a free, open source, web application security control library that makes it easier for programmers to write lower-risk applications. The ESAPI libraries are designed to make it easier for programmers to retrofit security into existing applications. The ESAPI libraries also serve as a solid foundation for new development. &lt;br /&gt;
&lt;br /&gt;
Allowing for language-specific differences, all OWASP ESAPI versions have the same basic design: &lt;br /&gt;
&lt;br /&gt;
*'''There is a set of security control interfaces.''' They define for example types of parameters that are passed to types of security controls.&lt;br /&gt;
&lt;br /&gt;
*'''There is a reference implementation for each security control.''' The logic is not organization‐specific and the logic is not application‐specific. An example: string‐based input validation.&lt;br /&gt;
&lt;br /&gt;
*'''There are optionally your own implementations for each security control.''' There may be application logic contained in these classes which may be developed by or for your organization. An example: enterprise authentication.&lt;br /&gt;
&lt;br /&gt;
This project source code is licensed under the [http://en.wikipedia.org/wiki/BSD_license BSD license], which is very permissive and about as close to public domain as is possible. The project documentation is licensed under the [http://creativecommons.org/licenses/by-sa/2.0/ Creative Commons] license. You can use or modify ESAPI however you want, even include it in commercial products.&lt;br /&gt;
&lt;br /&gt;
The following organizations are a few of the many organizations that are starting to adopt ESAPI to secure their web applications: [http://www.americanexpress.com/ American Express], [http://www.apache.org/ Apache Foundation], [http://www.boozallen.com Booz Allen Hamilton], [http://www.aspectsecurity.com/ Aspect Security], [http://www.foundstone.com Foundstone(McAfee)], [http://www.thehartford.com/ The Hartford], [http://www.infinitecampus.com Infinite Campus], [http://www.lockheedmartin.com/ Lockheed Martin], [http://cwe.mitre.org/top25/index.html MITRE], [http://enterprise.spawar.navy.mil/ U.S. Navy - SPAWAR], [http://www.worldbank.org/ The World Bank], [http://www.sans.org/top25errors/ SANS Institute]. &lt;br /&gt;
&lt;br /&gt;
Please let us know how your organization is using OWASP ESAPI. Include your name, organization's name, and brief description of how you are using it. The project lead can be reached [mailto:jeff.williams@owasp.org here]. The project maintainer can be reached [mailto:jim.manico@owasp.org here].&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
[[Image:Esapi-sponsors.PNG]] &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;33%&amp;quot; | &lt;br /&gt;
! width=&amp;quot;33%&amp;quot; | &lt;br /&gt;
! width=&amp;quot;33%&amp;quot; | &lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
== Let's talk here  ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Asvs-bulb.jpg]]'''ESAPI Communities''' &lt;br /&gt;
&lt;br /&gt;
Further development of ESAPI occurs through mailing list discussions and occasional workshops, and suggestions for improvement are welcome. For more information, please subscribe to one of the lists below.&lt;br /&gt;
&lt;br /&gt;
*[https://lists.owasp.org/mailman/listinfo/esapi-dev esapi-dev mailing list (this is the main list)] &lt;br /&gt;
*[https://lists.owasp.org/mailman/listinfo/esapi-user esapi-user mailing list] &lt;br /&gt;
*[https://lists.owasp.org/mailman/listinfo/esapi-php esapi-php mailing list] &lt;br /&gt;
*[https://lists.owasp.org/mailman/listinfo/esapi-python esapi-python mailing list] &lt;br /&gt;
*[https://lists.owasp.org/mailman/listinfo/owasp-esapi-ruby esapi-ruby mailing list] &lt;br /&gt;
*[https://lists.owasp.org/mailman/listinfo/owasp-esapi-swingset esapi-swingset mailing list]&lt;br /&gt;
*[http://groups.google.com/group/cfesapi esapi-coldfusion mailing list]&lt;br /&gt;
&lt;br /&gt;
IRC Chat&lt;br /&gt;
&lt;br /&gt;
If you would rather chat with us about your problem or thoughts - you can join us in our IRC channel using an [http://www.google.com/search?q=irc+client IRC Client] or using FreeNode's [http://webchat.freenode.net WebChat] client.&lt;br /&gt;
&lt;br /&gt;
*Server: irc.freenode.net&lt;br /&gt;
*Channel: #esapi&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
== Got developer cycles?  ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Asvs-waiting.JPG]]'''ESAPI Coding''' &lt;br /&gt;
&lt;br /&gt;
The ESAPI project is always on the lookout for volunteers who are interested in contributing developer cycles. &lt;br /&gt;
&lt;br /&gt;
*[http://owasp-esapi-php.googlecode.com/files/esapi4php-contributing.pdf ESAPI for PHP Developer Onboarding Instructions] &lt;br /&gt;
*ESAPI for other languages developer onboarding instructions -- coming soon!&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
== Related resources  ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Asvs-satellite.jpg]]'''OWASP Cheat Sheet Series''' &lt;br /&gt;
&lt;br /&gt;
*[[SQL Injection Prevention Cheat Sheet]] &lt;br /&gt;
*[[XSS (Cross Site Scripting) Prevention Cheat Sheet]] &lt;br /&gt;
*[[Cryptographic Storage Cheat Sheet]]&lt;br /&gt;
*[[Authentication Cheat Sheet]]&lt;br /&gt;
*[[Cross-Site Request Forgery (CSRF) Prevention Cheat Sheet]]&lt;br /&gt;
*[[Transport Layer Protection Cheat Sheet]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Downloads  =&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;33%&amp;quot; | &lt;br /&gt;
! width=&amp;quot;33%&amp;quot; | &lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
[[Image:Asvs-step1.jpg]]'''1. About ESAPI''' &lt;br /&gt;
&lt;br /&gt;
*Data sheet([http://www.owasp.org/images/8/81/Esapi-datasheet.pdf PDF],[http://www.owasp.org/images/3/32/Esapi-datasheet.doc Word]) &lt;br /&gt;
*Project presentation ([http://owasp-esapi-java.googlecode.com/files/OWASP%20ESAPI.ppt PowerPoint]) &lt;br /&gt;
*Video presentation ([http://www.youtube.com/watch?v=QAPD1jPn04g YouTube])&lt;br /&gt;
&lt;br /&gt;
[[Image:Asvs-step2.jpg]]'''2. Get ESAPI''' &lt;br /&gt;
&lt;br /&gt;
*[http://code.google.com/p/owasp-esapi-java/downloads/list ESAPI for Java Downloads] &lt;br /&gt;
*{{#switchtablink:.NET|ESAPI for .NET}}&amp;lt;br&amp;gt; &lt;br /&gt;
*{{#switchtablink:Classic ASP|ESAPI for Classic ASP}}&amp;lt;br&amp;gt; &lt;br /&gt;
*{{#switchtablink:PHP|ESAPI for PHP}}&amp;lt;br&amp;gt; &lt;br /&gt;
*{{#switchtablink:ColdFusion.2FCFML|ESAPI for ColdFusion &amp;amp; CFML}}&amp;lt;br&amp;gt; &lt;br /&gt;
*{{#switchtablink:Python|ESAPI for Python}}&amp;lt;br&amp;gt; &lt;br /&gt;
*[http://code.google.com/p/owasp-esapi-js/downloads/detail?name=esapi4js-0.1.3.zip ESAPI for Javascript]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
[[Image:Asvs-step3.jpg]]'''3. Learn ESAPI''' &lt;br /&gt;
&lt;br /&gt;
*ESAPI design patterns (not language-specific): [http://www.owasp.org/images/8/82/Esapi-design-patterns.pdf (PDF], [http://www.owasp.org/index.php/File:Esapi-design-patterns.doc Word], [http://www.owasp.org/images/8/87/Esapi-design-patterns.ppt PPT)] &lt;br /&gt;
*The [[ESAPI Swingset|ESAPI Swingset]] sample application demonstrates how to leverage ESAPI to protect a web application. &lt;br /&gt;
*LAMP should be spelled LAMPE ([http://www.owasp.org/images/a/ac/LAMP_Should_be_Spelled_LAMPE.pdf PDF]) &lt;br /&gt;
*ESAPI for Java interface documentation ([http://owasp-esapi-java.googlecode.com/svn/trunk_doc/index.html JavaDocs]) &lt;br /&gt;
*ESAPI for PHP interface documentation ([http://owasp-esapi-php.googlecode.com/svn/trunk_doc/latest/index.html phpdoc])&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= What I did with ESAPI  =&lt;br /&gt;
&lt;br /&gt;
*I used ESAPI for Java with Google AppEngine. I used it for simple validation and encoding. --[mailto:jeff.williams@owasp.org Jeff]&lt;br /&gt;
&lt;br /&gt;
*I used ESAPI for PHP with a custom web 2.0 corporate knowledge management application, made up of many open source and commercial applications integrated to work together. I added an organization- and application-specific &amp;quot;Adapter&amp;quot; control to wrap calls to the other ESAPI controls. --[mailto:mike.boberski@owasp.org Mike]&lt;br /&gt;
&lt;br /&gt;
*I used ESAPI for Java’s &amp;quot;Logger&amp;quot; control to make it easier for a US Government customer to meet C&amp;amp;amp;A requirements. --[mailto:dave.wichers@owasp.org Dave]&lt;br /&gt;
&lt;br /&gt;
*I used ESAPI for Java to build a low risk web application that was over 250,000+ lines of code in size. --[mailto:jim.manico@owasp.org Jim]&lt;br /&gt;
&lt;br /&gt;
*I used ESAPI for Java's &amp;quot;Authenticator&amp;quot; to replace a spaghetti-like mechanism in a legacy financial services web application. In hindsight I should have used the application-specific &amp;quot;Adapter&amp;quot; pattern mentioned by Mike above. The organization also uses the ESAPI Encryptor as an interface to a hardware security module. --[mailto:roman.hustad@yahoo.com Roman]&lt;br /&gt;
&lt;br /&gt;
*I use ESAPI for Java to educate developers about application security principals at several of the world’s largest organizations. --[mailto:jim.manico@owasp.org Jim]&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
= Glossary  =&lt;br /&gt;
&lt;br /&gt;
[[Image:Asvs-letters.jpg]]'''ESAPI Terminology''' &lt;br /&gt;
&lt;br /&gt;
*'''adapter''' - There are optionally your own implementations for each security control. There may be application logic contained in these classes which may be developed by or for your organization. The logic may be organization-specific and/or application-specific. There may be proprietary information or logic contained in these classes which may be developed by or for your organization. &lt;br /&gt;
*'''built-in singleton design pattern''' - The &amp;quot;built-in&amp;quot; singleton design pattern refers to the replacement of security control reference implementations with your own implementations. ESAPI interfaces are otherwise left intact. &lt;br /&gt;
*'''codec''' - ESAPI encoder/decoder reference implementations. &lt;br /&gt;
*'''core''' - The ESAPI interfaces and reference implementations that are not intended to be replaced with enterprise-specific versions are called the ESAPI Core. &lt;br /&gt;
*'''exception''' - ESAPI exception reference implementations. &lt;br /&gt;
*'''extended factory design pattern''' - The &amp;quot;extended&amp;quot; factory design pattern refers to the addition of a new security control interface and corresponding implementation, which in turn calls ESAPI security control reference implementations and/or security control reference implementations that were replaced with your own implementations. The ESAPI locator class would be called in order to retrieve a singleton instance of your new security control, which in turn would call ESAPI security control reference implementations and/or security control reference implementations that were replaced with your own implementations. &lt;br /&gt;
*'''extended singleton design pattern''' - The &amp;quot;extended&amp;quot; singleton pattern refers to the replacement of security control reference implementations with your own implementations and the addition/modification/subtraction of corresponding security control interfaces. &lt;br /&gt;
*'''ES-enable (or ESAPI-enable)''' - Just as web applications and web services can be Public Key Infrastructure (PKI) enabled (PK-enabled) to perform for example certificate-based authentication, applications and services can be OWASP ESAPI-enabled (ES-enabled) to enable applications and services to protect themselves from attackers. &lt;br /&gt;
*'''filter''' - In ESAPI for Java, there is additionally an HTTP filter that can be called separately from the other controls. &lt;br /&gt;
*'''interfaces''' - There is a set of security control interfaces. There is no application logic contained in these interfaces. They define for example types of parameters that are passed to types of security controls. There is no proprietary information or logic contained in these interfaces. &lt;br /&gt;
*'''locator''' - The ESAPI security control interfaces include an &amp;quot;ESAPI&amp;quot; class that is commonly referred to as a &amp;quot;locator&amp;quot; class. The ESAPI locator class is called in order to retrieve singleton instances of individual security controls, which are then called in order to perform security checks (such as performing an access control check) or that result in security effects (such as generating an audit record). &lt;br /&gt;
*'''reference implementation''' - There is a reference implementation for each security control. There is application logic contained in these classes, i.e. contained in these interface implementations. However, the logic is not organization-specific and the logic is not application-specific. There is no proprietary information or logic contained in these reference implementation classes. &lt;br /&gt;
*'''Web Application Firewall (WAF)''' - In ESAPI for Java, there is additionally a Web Application Firewall (WAF) that can be called separately from the other controls.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
= Java EE  =&lt;br /&gt;
&lt;br /&gt;
{{:GPC_Project_Details/OWASP_Enterprise_Security_API_Java_EE_Version | OWASP Project Identification Tab}} &lt;br /&gt;
&lt;br /&gt;
= Dot NET  =&lt;br /&gt;
&lt;br /&gt;
{{:GPC_Project_Details/OWASP_Enterprise_Security_API_.NET_Version | OWASP Project Identification Tab}} &lt;br /&gt;
&lt;br /&gt;
= Classic ASP  =&lt;br /&gt;
&lt;br /&gt;
{{:GPC_Project_Details/OWASP_Enterprise_Security_API_-_Classic_ASP_Version | OWASP Project Identification Tab}} &lt;br /&gt;
&lt;br /&gt;
= PHP  =&lt;br /&gt;
&lt;br /&gt;
{{:GPC_Project_Details/OWASP_Enterprise_Security_API_-_PHP_Version | OWASP Project Identification Tab}} &lt;br /&gt;
&lt;br /&gt;
= ColdFusion CFML =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---{{:GPC_Project_Details/OWASP_Enterprise_Security_API_-_ColdFusion/CFML | OWASP Project Identification Tab}}---&amp;gt; &lt;br /&gt;
{{:Projects/OWASP ESAPI for ColdFusion - CFML Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
= Python =&lt;br /&gt;
&lt;br /&gt;
{{:GPC_Project_Details/OWASP_Enterprise_Security_API_-_Python_Version | OWASP Project Identification Tab}} &lt;br /&gt;
&lt;br /&gt;
= JavaScript =&lt;br /&gt;
&lt;br /&gt;
{{:GPC_Project_Details/OWASP_Enterprise_Security_API_JavaScript_Version  | OWASP Project Identification Tab}} &lt;br /&gt;
&lt;br /&gt;
= Objective C =&lt;br /&gt;
&lt;br /&gt;
{{:Projects/OWASP ESAPI Objective - C Project | Project About}}&lt;br /&gt;
&lt;br /&gt;
= Force com =&lt;br /&gt;
&lt;br /&gt;
{{:GPC_Project_Details/OWASP_Enterprise_Security_API_-_Force.com_Version | OWASP Project Identification Tab}} &lt;br /&gt;
&lt;br /&gt;
= Ruby =&lt;br /&gt;
&lt;br /&gt;
{{:Projects/Owasp Esapi Ruby | Project About}} &lt;br /&gt;
&lt;br /&gt;
= Swingset =&lt;br /&gt;
&lt;br /&gt;
The ESAPI Swingset Project divides itself into sub-projects, i.e., [[Projects/OWASP ESAPI Swingset Interactive Project|Swingset Interactive]] and [[Projects/OWASP ESAPI Swingset Demo Project|Swingset Demo]]. &lt;br /&gt;
&lt;br /&gt;
= ESAPI C =&lt;br /&gt;
&lt;br /&gt;
{{:Projects/OWASP ESAPI C Project | Project About}} &lt;br /&gt;
&lt;br /&gt;
= ESAPI CPP =&lt;br /&gt;
&lt;br /&gt;
{{:Projects/OWASP ESAPI C++ Project | Project About}} &lt;br /&gt;
&lt;br /&gt;
= ESAPI Perl =&lt;br /&gt;
&lt;br /&gt;
{{:Projects/OWASP ESAPI Perl Project | Project About}} &lt;br /&gt;
&lt;br /&gt;
= Project Details  =&lt;br /&gt;
&lt;br /&gt;
{{:GPC_Project_Details/OWASP_Enterprise_Security_API | OWASP Project Identification Tab}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{OWASP Builders}}&lt;/div&gt;</summary>
		<author><name>Dan Amodio</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_ESAPI_C%2B%2B_Project&amp;diff=114902</id>
		<title>Projects/OWASP ESAPI C++ Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_ESAPI_C%2B%2B_Project&amp;diff=114902"/>
				<updated>2011-08-01T17:04:12Z</updated>
		
		<summary type="html">&lt;p&gt;Dan Amodio: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:&amp;lt;includeonly&amp;gt;{{{1}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;Project About&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| project_name = OWASP ESAPI C++ Project&lt;br /&gt;
| project_home_page = :Category:OWASP Enterprise Security API&lt;br /&gt;
| project_description =This is the C++ language version of the OWASP ESAPI.&lt;br /&gt;
*ESAPI for C++ is sponsored by the United States Government&lt;br /&gt;
*An API for helping programmers develop more secure business applications in C++.&lt;br /&gt;
*Provides easy to use functions for proper auditing, simple wrappers for cryptographic functions, and more.&lt;br /&gt;
| project_license =&lt;br /&gt;
| leader_name1 =David Anderson&lt;br /&gt;
| leader_email1 =david.anderson@aspectsecurity.com&lt;br /&gt;
| leader_username[1-10] = &lt;br /&gt;
| contributor_name1 = Dan Amodio&lt;br /&gt;
| contributor_email1 = dan.amodio@aspectsecurity.com&lt;br /&gt;
| contributor_username1 = Dan_Amodio&lt;br /&gt;
| contributor_name2 = Kevin Wall&lt;br /&gt;
| contributor_email2 = kevin.w.wall@gmail.com&lt;br /&gt;
| contributor_username2 = Kevin_W._Wall&lt;br /&gt;
| contributor_name3 = Jeff Walton&lt;br /&gt;
| contributor_email3 = &lt;br /&gt;
| contributor_username3 = Jeffrey_Walton&lt;br /&gt;
| pamphlet_link = &lt;br /&gt;
| presentation_link =&lt;br /&gt;
| mailing_list_name = https://lists.owasp.org/mailman/listinfo/owasp-esapi-c++&lt;br /&gt;
| project_road_map = &lt;br /&gt;
| links_url1 = ESAPI C++ Google Code Project&lt;br /&gt;
| links_name1 = http://code.google.com/p/owasp-esapi-cplusplus/&lt;br /&gt;
| release_1 = &lt;br /&gt;
| release_2 = &lt;br /&gt;
| release_3 =&lt;br /&gt;
| release_4 =&lt;br /&gt;
&amp;lt;!--- The line below is for GPC usage only. Please do not edit it ---&amp;gt;&lt;br /&gt;
| project_about_page = Projects/OWASP ESAPI C++ Project&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category: Project About]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dan Amodio</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_ESAPI_C%2B%2B_Project&amp;diff=114900</id>
		<title>Projects/OWASP ESAPI C++ Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_ESAPI_C%2B%2B_Project&amp;diff=114900"/>
				<updated>2011-08-01T14:35:57Z</updated>
		
		<summary type="html">&lt;p&gt;Dan Amodio: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:&amp;lt;includeonly&amp;gt;{{{1}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;Project About&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| project_name = OWASP ESAPI C++ Project&lt;br /&gt;
| project_home_page = :Category:OWASP Enterprise Security API&lt;br /&gt;
| project_description =This is the C++ language version of the OWASP ESAPI.&lt;br /&gt;
*ESAPI for C++ is sponsored by the United States Government&lt;br /&gt;
*An API for helping programmers develop more secure business applications in C++.&lt;br /&gt;
*Provides easy to use functions for proper auditing, simple wrappers for cryptographic functions, and more.&lt;br /&gt;
| project_license =&lt;br /&gt;
| leader_name1 =David Anderson&lt;br /&gt;
| leader_email1 =david.anderson@aspectsecurity.com&lt;br /&gt;
| leader_username[1-10] = &lt;br /&gt;
| contributor_name1 = Dan Amodio&lt;br /&gt;
| contributor_email1 = dan.amodio@aspectsecurity.com&lt;br /&gt;
| contributor_username1 = Dan_Amodio&lt;br /&gt;
| contributor_name2 = Kevin Wall&lt;br /&gt;
| contributor_email2 = &lt;br /&gt;
| contributor_username2 = Kevin_W._Wall&lt;br /&gt;
| contributor_name3 = Jeff Walton&lt;br /&gt;
| contributor_email3 = &lt;br /&gt;
| contributor_username3 = Jeffrey_Walton&lt;br /&gt;
| pamphlet_link = &lt;br /&gt;
| presentation_link =&lt;br /&gt;
| mailing_list_name = https://lists.owasp.org/mailman/listinfo/owasp-esapi-c++&lt;br /&gt;
| project_road_map = &lt;br /&gt;
| links_url1 = ESAPI C++ Google Code Project&lt;br /&gt;
| links_name1 = http://code.google.com/p/owasp-esapi-cplusplus/&lt;br /&gt;
| release_1 = &lt;br /&gt;
| release_2 = &lt;br /&gt;
| release_3 =&lt;br /&gt;
| release_4 =&lt;br /&gt;
&amp;lt;!--- The line below is for GPC usage only. Please do not edit it ---&amp;gt;&lt;br /&gt;
| project_about_page = Projects/OWASP ESAPI C++ Project&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category: Project About]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dan Amodio</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_ESAPI_C%2B%2B_Project&amp;diff=114899</id>
		<title>Projects/OWASP ESAPI C++ Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_ESAPI_C%2B%2B_Project&amp;diff=114899"/>
				<updated>2011-08-01T14:33:57Z</updated>
		
		<summary type="html">&lt;p&gt;Dan Amodio: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:&amp;lt;includeonly&amp;gt;{{{1}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;Project About&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| project_name = OWASP ESAPI C++ Project&lt;br /&gt;
| project_home_page = :Category:OWASP Enterprise Security API&lt;br /&gt;
| project_description =This is the C++ language version of the OWASP ESAPI.&lt;br /&gt;
*ESAPI for C++ is sponsored by the United States Government&lt;br /&gt;
*An API for helping programmers develop more secure business applications in C++.&lt;br /&gt;
*Provides easy to use functions for proper auditing, simple wrappers for cryptographic functions, and more.&lt;br /&gt;
| project_license =&lt;br /&gt;
| leader_name1 =David Anderson&lt;br /&gt;
| leader_email1 =david.anderson@aspectsecurity.com&lt;br /&gt;
| leader_username[1-10] = &lt;br /&gt;
| contributor_name1 = Dan_Amodio&lt;br /&gt;
| contributor_email1 = dan.amodio@aspectsecurity.com&lt;br /&gt;
| contributor_username1 = Dan Amodio&lt;br /&gt;
| contributor_name2 = Kevin Wall&lt;br /&gt;
| contributor_email2 = &lt;br /&gt;
| contributor_username2 = Kevin_W._Wall&lt;br /&gt;
| contributor_name3 = Jeff Walton&lt;br /&gt;
| contributor_email3 = &lt;br /&gt;
| contributor_username3 = Jeffrey_Walton&lt;br /&gt;
| pamphlet_link = &lt;br /&gt;
| presentation_link =&lt;br /&gt;
| mailing_list_name = https://lists.owasp.org/mailman/listinfo/owasp-esapi-c++&lt;br /&gt;
| project_road_map = &lt;br /&gt;
| links_url1 = ESAPI C++ Google Code Project&lt;br /&gt;
| links_name1 = http://code.google.com/p/owasp-esapi-cplusplus/&lt;br /&gt;
| release_1 = &lt;br /&gt;
| release_2 = &lt;br /&gt;
| release_3 =&lt;br /&gt;
| release_4 =&lt;br /&gt;
&amp;lt;!--- The line below is for GPC usage only. Please do not edit it ---&amp;gt;&lt;br /&gt;
| project_about_page = Projects/OWASP ESAPI C++ Project&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category: Project About]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dan Amodio</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=User:Dan_Amodio&amp;diff=113971</id>
		<title>User:Dan Amodio</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=User:Dan_Amodio&amp;diff=113971"/>
				<updated>2011-07-15T19:40:10Z</updated>
		
		<summary type="html">&lt;p&gt;Dan Amodio: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.aspectsecurity.com Aspect Security]&lt;/div&gt;</summary>
		<author><name>Dan Amodio</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_ESAPI_C_Project&amp;diff=113969</id>
		<title>Projects/OWASP ESAPI C Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_ESAPI_C_Project&amp;diff=113969"/>
				<updated>2011-07-15T18:56:35Z</updated>
		
		<summary type="html">&lt;p&gt;Dan Amodio: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:&amp;lt;includeonly&amp;gt;{{{1}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;Project About&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| project_name = OWASP ESAPI C Project&lt;br /&gt;
| project_home_page = :Category:OWASP Enterprise Security API&lt;br /&gt;
| project_description = This is the C language version of the OWASP ESAPI.&lt;br /&gt;
*ESAPI for C is sponsored by the United States Government&lt;br /&gt;
*An API for helping programmers develop more secure business applications in C.&lt;br /&gt;
*Provides easy to use functions for proper auditing, simple wrappers for cryptographic functions, and more.&lt;br /&gt;
| project_license =&lt;br /&gt;
| leader_name1 =David Anderson&lt;br /&gt;
| leader_email1 = david.anderson@aspectsecurity.com&lt;br /&gt;
| leader_username1 = &lt;br /&gt;
| contributor_name1 = Dan Amodio&lt;br /&gt;
| contributor_email1 = dan.amodio@aspectsecurity.com&lt;br /&gt;
| contributor_username1 = Dan_Amodio&lt;br /&gt;
| pamphlet_link = &lt;br /&gt;
| presentation_link =&lt;br /&gt;
| mailing_list_name = https://lists.owasp.org/mailman/listinfo/owasp-esapi-c&lt;br /&gt;
| project_road_map = &lt;br /&gt;
| links_url1 = http://code.google.com/p/owasp-esapi-c/&lt;br /&gt;
| links_name1 = ESAPI-C Google Code Project&lt;br /&gt;
| links_url2 = http://owasp-esapi-c.googlecode.com/svn/trunk/doc/html/index.html&lt;br /&gt;
| links_name2 = ESAPI-C Documentation&lt;br /&gt;
| release_1 = &lt;br /&gt;
| release_2 = &lt;br /&gt;
| release_3 =&lt;br /&gt;
| release_4 =&lt;br /&gt;
&amp;lt;!--- The line below is for GPC usage only. Please do not edit it ---&amp;gt;&lt;br /&gt;
| project_about_page = Projects/OWASP ESAPI C Project&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category: Project About]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dan Amodio</name></author>	</entry>

	</feed>