<?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=Ebing</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=Ebing"/>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php/Special:Contributions/Ebing"/>
		<updated>2026-04-23T13:24:03Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.27.2</generator>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Regular_expression_Denial_of_Service_-_ReDoS&amp;diff=139157</id>
		<title>Regular expression Denial of Service - ReDoS</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Regular_expression_Denial_of_Service_-_ReDoS&amp;diff=139157"/>
				<updated>2012-11-09T18:30:09Z</updated>
		
		<summary type="html">&lt;p&gt;Ebing: /* The problematic Regex naïve algorithm */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{template: Attack}}&amp;lt;br&amp;gt;&lt;br /&gt;
[[Category:OWASP ASDR Project]]&lt;br /&gt;
&lt;br /&gt;
Last revision (mm/dd/yy): '''{{REVISIONMONTH}}/{{REVISIONDAY}}/{{REVISIONYEAR}}'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The '''Regular expression Denial of Service (ReDoS)''' is a [[Denial of Service]] attack, that exploits the fact that most Regular Expression implementations may reach extreme situations that cause them to work very slowly (exponentially related to input size). An attacker can then cause a program using a Regular Expression to enter these extreme situations and then hang for a very long time.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
===The problematic Regex naïve algorithm===&lt;br /&gt;
The Regular Expression naïve algorithm builds a [http://en.wikipedia.org/wiki/Nondeterministic_finite_state_machine Nondeterministic Finite Automaton (NFA)], which is a finite state machine where for each pair of state and input symbol there may be several possible next states. Then the engine starts to make transition until the end of the input. Since there may be several possible next states, a deterministic algorithm is used. This algorithm tries one by one all the possible paths (if needed) until a match is found (or all the paths are tried and fail).&lt;br /&gt;
&lt;br /&gt;
For example, the Regex '''''^(a+)+$''''' is represented by the following NFA:&lt;br /&gt;
&lt;br /&gt;
:::[[File:NFA.png]]&lt;br /&gt;
&lt;br /&gt;
For the input '''''aaaaX''''' there are 16 possible paths in the above graph. But for '''''aaaaaaaaaaaaaaaaX''''' there are 65536 possible paths, and the number is double for each additional '''''a'''''. This is an extreme case where the naïve algorithm is problematic, because it must pass on many many paths, and then fail.&lt;br /&gt;
&lt;br /&gt;
Notice, that not all algorithms are naïve, and actually Regex algorithms can be written in an efficient way. Unfortunately, most Regex engines today try to solve not only &amp;quot;pure&amp;quot; Regexes, but also &amp;quot;expanded&amp;quot; Regexes with &amp;quot;special additions&amp;quot;, such as back-references that cannot be always be solved efficiently (see '''Patterns for non-regular languages''' in [http://en.wikipedia.org/wiki/Regular_expression Wiki-Regex] for some more details). So even if the Regex is not &amp;quot;expanded&amp;quot;, a naïve algorithm is used.&lt;br /&gt;
&lt;br /&gt;
===Evil Regexes===&lt;br /&gt;
A Regex is called &amp;quot;evil&amp;quot; if it can stuck on crafted input.&lt;br /&gt;
&lt;br /&gt;
'''Evil Regex pattern contains''':&lt;br /&gt;
* Grouping with repetition&lt;br /&gt;
* Inside the repeated group:&lt;br /&gt;
** Repetition&lt;br /&gt;
** Alternation with overlapping&lt;br /&gt;
&lt;br /&gt;
'''Examples of Evil Patterns''':&lt;br /&gt;
* (a+)+&lt;br /&gt;
* ([a-zA-Z]+)*&lt;br /&gt;
* (a|aa)+&lt;br /&gt;
* (a|a?)+&lt;br /&gt;
* (.*a){x} | for x &amp;gt; 10&lt;br /&gt;
&lt;br /&gt;
All the above are susceptible to the input '''''aaaaaaaaaaaaaaaaaaaaaaaa!''''' (The minimum input length might change slightly, when using faster or slower machines).&lt;br /&gt;
&lt;br /&gt;
===Attacks===&lt;br /&gt;
The attacker might use the above knowledge to look for applications that use Regular Expressions, containing an '''Evil Regex''', and send a well-crafted input, that will hang the system. Alternatively, if a Regex itself is affected by a user input, the attacker can inject an '''Evil Regex''', and make the system vulnerable.&lt;br /&gt;
&lt;br /&gt;
==Risk Factors==&lt;br /&gt;
The Web is Regex-Based:&lt;br /&gt;
&lt;br /&gt;
:::[[File:RegexBasedWeb.png]]&lt;br /&gt;
&lt;br /&gt;
In every layer of the WEB there are Regular Expressions, that might contain an '''Evil Regex'''. An attacker can hang a WEB-browser (on a computer or potentially also on a mobile device), hang a Web Application Firewall (WAF), attack a database, and even stack a vulnerable WEB server.&lt;br /&gt;
&lt;br /&gt;
For example, if a programmer uses a Regex to validate the client side of a system, and the Regex contains an '''Evil Regex''', the attacker can assume the same vulnerable Regex is used in the server side, and send a well-crafted input, that stacks the WEB server.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
===Vulnerable Regex in online repositories===&lt;br /&gt;
1. [http://regexlib.com/REDetails.aspx?regexp_id=1757 ReGexLib,id=1757 (email validation)] - see bold part, which is an '''Evil Regex'''&lt;br /&gt;
 ^([a-zA-Z0-9])'''(([\-.]|[_]+)?([a-zA-Z0-9]+))*'''(@){1}[a-z0-9]+[.]{1}(([a-z]{2,3})|([a-z]{2,3}[.]{1}[a-z]{2,3}))$&lt;br /&gt;
 &lt;br /&gt;
Input:&lt;br /&gt;
 aaaaaaaaaaaaaaaaaaaaaaaa!&lt;br /&gt;
&lt;br /&gt;
2. [[OWASP Validation Regex Repository]], Java Classname - see bold part, which is an '''Evil Regex'''&lt;br /&gt;
 ^'''(([a-z])+.)+'''[A-Z]([a-z])+$&lt;br /&gt;
 &lt;br /&gt;
Input:&lt;br /&gt;
 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!&lt;br /&gt;
&lt;br /&gt;
===Web application attack===&lt;br /&gt;
* Open a JavaScript &lt;br /&gt;
* Find '''Evil Regex'''&lt;br /&gt;
* Craft a malicious input for the found Regex&lt;br /&gt;
* Submit a valid value via intercepting proxy &lt;br /&gt;
* Change the request to contain a malicious input&lt;br /&gt;
* You are done!&lt;br /&gt;
&lt;br /&gt;
===ReDoS via Regex Injection===&lt;br /&gt;
The following example checks if the username is part of the password entered by the user.&lt;br /&gt;
 String userName = textBox1.Text;&lt;br /&gt;
 String password = textBox2.Text;&lt;br /&gt;
 Regex testPassword = new Regex(userName);&lt;br /&gt;
 Match match = testPassword.Match(password);&lt;br /&gt;
 if (match.Success)&lt;br /&gt;
 {&lt;br /&gt;
     MessageBox.Show(&amp;quot;Do not include name in password.&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
     MessageBox.Show(&amp;quot;Good password.&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
If an attacker enters ''^(([a-z])+.)+[A-Z]([a-z])+$'' as a username and ''aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!'' as a password, the program will hang.&lt;br /&gt;
==Related [[Threat Agents]]==&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
==Related [[Attacks]]==&lt;br /&gt;
* [[Denial of Service]]&lt;br /&gt;
&lt;br /&gt;
==Related [[Vulnerabilities]]==&lt;br /&gt;
* [[:Category: Input Validation Vulnerability]]&lt;br /&gt;
* [[:Category: API Abuse]]&lt;br /&gt;
&lt;br /&gt;
==Related [[Controls]]==&lt;br /&gt;
* [[Input Validation]]&lt;br /&gt;
* [[Output Validation]]&lt;br /&gt;
* [[Canonicalization]]&lt;br /&gt;
&lt;br /&gt;
==References ==&lt;br /&gt;
* [http://www.cs.rice.edu/~scrosby/hash/slides/USENIX-RegexpWIP.2.ppt Regular Expression Denial Of Service / Crosby&amp;amp;Wallach, Usenix Security 2003]&lt;br /&gt;
* [http://www.checkmarx.com/NewsDetails.aspx?id=23&amp;amp;cat=3 Regular expression Denial of Service Revisited, Sep-2009]&lt;br /&gt;
* [[Media:20091210_VAC-REGEX_DOS-Adar_Weidman.pdf| VAC Presentation - ReDoS, OWASP-NL Chapter meeting Dec-2009]]&lt;br /&gt;
* [[Podcast 56|OWASP podcast about ReDoS]]&lt;br /&gt;
* [[OWASP Validation Regex Repository]]&lt;br /&gt;
* [http://regexlib.com/ RegExLib]&lt;br /&gt;
* Examples of ReDoS in open source applications:&lt;br /&gt;
** [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2009-3277 ReDoS in DataVault]&lt;br /&gt;
** [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2009-3275 ReDoS in EntLib]&lt;br /&gt;
** [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2009-3276 ReDoS in NASD CORE.NET Terelik]&lt;br /&gt;
&lt;br /&gt;
==Credit==&lt;br /&gt;
{{Template:Checkmarx}}&lt;br /&gt;
[[Category:Attack]]&lt;br /&gt;
[[Category:Injection]]&lt;/div&gt;</summary>
		<author><name>Ebing</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=AppSec_US_2010,_CA&amp;diff=86744</id>
		<title>AppSec US 2010, CA</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=AppSec_US_2010,_CA&amp;diff=86744"/>
				<updated>2010-07-20T22:25:35Z</updated>
		
		<summary type="html">&lt;p&gt;Ebing: Spelling correction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;[[Image:Appsec banner.png|468x60px|AppSec USA 2010 Banner]] &lt;br /&gt;
&lt;br /&gt;
==== Welcome  ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot; border=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 25%; background: rgb(240,230,140)&amp;quot; align=&amp;quot;center&amp;quot; | [http://www.appsecusa.org/travel-and-venue.html Travel and Venue] &lt;br /&gt;
| style=&amp;quot;width: 25%; background: rgb(240,230,140)&amp;quot; align=&amp;quot;center&amp;quot; | [http://www.appsecusa.org/become-a-sponsor.html Sponsor Information] &lt;br /&gt;
| style=&amp;quot;width: 25%; background: rgb(240,230,140)&amp;quot; align=&amp;quot;center&amp;quot; | [http://www.appsecusa.org/volunteer-opportunities.html Volunteer Opportunities] &lt;br /&gt;
| style=&amp;quot;width: 25%; background: rgb(255,215,0)&amp;quot; align=&amp;quot;center&amp;quot; | [http://www.appsecusa.org/register-now.html REGISTER NOW]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: rgb(238,235,226); color: black&amp;quot; colspan=&amp;quot;4&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;lt;br&amp;gt;For complete information, please visit [http://www.appsecusa.org AppSec US 2010 Website] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 100%&amp;quot; class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 100%; color: rgb(0,0,0)&amp;quot; | &lt;br /&gt;
{| style=&amp;quot;width: 100%; background: none transparent scroll repeat 0% 0%; -moz-background-inline-policy: continuous&amp;quot; class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 95%; color: rgb(0,0,0)&amp;quot; | &lt;br /&gt;
'''Latest Updates:''' &lt;br /&gt;
&lt;br /&gt;
'''Training and conference agenda available''' &lt;br /&gt;
&lt;br /&gt;
'''Register now!''' Early-bird rates extended till July 31. &lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;br&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Twitter Box --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-bottom: rgb(204,204,204) 0px solid; border-left: rgb(204,204,204) 0px solid; width: 100%; color: rgb(0,0,0); font-size: 95%; border-top: rgb(204,204,204) 0px solid; border-right: rgb(204,204,204) 0px solid&amp;quot; | &amp;lt;!-- DON'T REMOVE ME, I'M STRUCTURAL &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid rgb(204, 204, 204); width: 100%; font-size: 95%; color: rgb(0, 0, 0); background-color: rgb(236, 236, 236);&amp;quot; | &lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Use the '''[https://twitter.com/appsec2010 #AppSec2010]''' hashtag for your tweets (What are [http://hashtags.org/ hashtags]?) &lt;br /&gt;
&lt;br /&gt;
'''@AppSec2010 Twitter Feed ([https://twitter.com/appsec2010 follow us on Twitter!])''' &amp;lt;twitter&amp;gt;appec2010&amp;lt;/twitter&amp;gt;--&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 110px; color: rgb(0,0,0); font-size: 95%&amp;quot; | &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- End Banner --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Training September 7th &amp;amp;amp; 8th  ====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 80%&amp;quot; class=&amp;quot;FCK__ShowTableBorders&amp;quot; border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background: rgb(64,88,160); color: white&amp;quot; align=&amp;quot;center&amp;quot; | T1. Web Security Testing - 2-Days - $1350&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: rgb(242,242,242)&amp;quot; | This course is a deep dive into the world of web application security testing. It is designed to walk testers through every step of web application penetration testing, arming them with the knowledge and tools they will need to begin conducting their own security testing. The course will teach the participants how to think like a security engineer by creating and executing a security test plan. Participants will be exposed to common web application vulnerabilities, testing techniques and tools by a professional security tester. &lt;br /&gt;
The course includes a guided penetration test in which the students will execute security test with the help of the instructor.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: rgb(242,242,242)&amp;quot; | Instructor: Joe Basirico, Security Innovation&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: rgb(242,242,242)&amp;quot; | [[Learn More About the Web Security Testing Class]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: rgb(242,242,242)&amp;quot; | [http://www.appsecusa.org/register-now.html Click here to register]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 80%&amp;quot; class=&amp;quot;FCK__ShowTableBorders&amp;quot; border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background: rgb(64,88,160); color: white&amp;quot; align=&amp;quot;center&amp;quot; | T2. Building Secure Ajax and Web 2.0 Applications - 2-Days - $1350&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: rgb(242,242,242)&amp;quot; | This two-day class will cover common Web 2.0 and AJAX security threats, vulnerabilities, and it will provide specific guidance on how to develop Web 2.0 applications to defend against these threats and vulnerabilities. &lt;br /&gt;
Training developers on secure coding practices offers one of highest returns on investment of any security investment by eliminating vulnerabilities at the source. Aspect’s Building Secure Ajax and Web 2.0 Applications Course enables developers to securely utilize Web 2.0 technologies in their web applications without introducing security issues. The course provides detailed examples of ‘what to do’ and ‘what not to do.' The class is lead by an experienced developer and delivered in a very interactive manner. The course will use demonstrations, code examples, and spot-the-bug exercises to get developers engaged in the topic. Developers will leave with an understanding of how Ajax attacks work, the impacts of successful attacks, and what to do to defend against them.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: rgb(242,242,242)&amp;quot; | Instructor: Dave Wichers: [[Image:100px-Aspect Security Logo.jpg]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: rgb(242,242,242)&amp;quot; | [[Learn More about the Building Secure Ajax and Web 2.0 Applications Class]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: rgb(242,242,242)&amp;quot; | [http://www.appsecusa.org/register-now.html Click here to register]&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background: rgb(64,88,160); color: white&amp;quot; align=&amp;quot;center&amp;quot; | T3. Assessing and Exploiting Web Applications with Samurai - WTF - 2-Days - $1350&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: rgb(242,242,242)&amp;quot; | &lt;br /&gt;
This course will focus on using open source tools to perform web application assessments.&amp;amp;nbsp; The course will take attendees through the process of application assessment using the open source tools included in the Samurai Web Testing Framework Live CD (Samurai-­‐WTF).&amp;amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Day one will take students through the steps and open source tools used to assess application for vulnerabilities.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Day two will focus on the exploitation of web app vulnerabilities, spending half the day on server side attacks and the other half of the day on client side attacks.&amp;amp;nbsp; The latest tools and techniques will be used throughout the course, including several tools developed by the trainers themselves&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: rgb(242,242,242)&amp;quot; | &lt;br /&gt;
Instructor: Jason Searle: InGuardian [[Image:InGuardians.png|36x40px]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: rgb(242,242,242)&amp;quot; | [http://www.appsecusa.org/register-now.html Click here to register]&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background: rgb(64,88,160); color: white&amp;quot; align=&amp;quot;center&amp;quot; | T4. Application Security Leadership Essentials - 2-Days - $1350&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: rgb(242,242,242)&amp;quot; | In this two-day management session you’ll get an industry perspective of application security, understand the key vulnerabilities to applications, be able to analyze root cause, and provide practical and proven techniques in building out an application security initiative. This course gives executives and managers the education and practical guidance they need to ensure that software projects properly address security. The course is designed to provide a firm understanding of the importance of software security, the critical security activities required within the software development lifecycle, and how to efficiently manage security issues during development and maintenance. This understanding is reinforced through industry awareness, live demonstrations of commonly found application vulnerabilities and workgroup exercises allowing attendees to conduct capability assessments and recommend improvement plans.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: rgb(242,242,242)&amp;quot; | Instructor: Jeff Williams: [[Image:100px-Aspect Security Logo.jpg]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: rgb(242,242,242)&amp;quot; | [[Learn More about the Application Security Leadership Essentials Class]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: rgb(242,242,242)&amp;quot; | [http://www.appsecusa.org/register-now.html Click here to register]&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background: rgb(64,88,160); color: white&amp;quot; align=&amp;quot;center&amp;quot; | T5. Software Security Remediation: How to Fix Application Vulnerabilities 1-Day - Sept 7th- $675&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: rgb(242,242,242)&amp;quot; | Summary &lt;br /&gt;
Instructor: Dan Cornell: [[Image:AppSecDC2009-Sponsor-denim.gif]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: rgb(242,242,242)&amp;quot; | [http://www.appsecusa.org/register-now.html Click here to register]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 80%&amp;quot; class=&amp;quot;FCK__ShowTableBorders&amp;quot; border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background: rgb(64,88,160); color: white&amp;quot; align=&amp;quot;center&amp;quot; | T6. Live CD 1-Day - Sept 8th- $675&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: rgb(242,242,242)&amp;quot; | Summary &lt;br /&gt;
Instructor: Matt Tesauro: [[Image:TrustwaveLogo.jpg]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: rgb(242,242,242)&amp;quot; | [http://www.appsecusa.org/register-now.html Click here to register]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== September 9th  ====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 80%&amp;quot; class=&amp;quot;FCK__ShowTableBorders&amp;quot; border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: rgb(64,88,160); color: white&amp;quot; colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; | '''Conference Day 1 - September 9th, 2010''' &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 30%; background: rgb(188,133,122)&amp;quot; | Track 1 - Crystal Cove Auditorium &lt;br /&gt;
| style=&amp;quot;width: 30%; background: rgb(188,165,122)&amp;quot; | Track 2 - Pacific Ballroom &lt;br /&gt;
| style=&amp;quot;width: 30%; background: rgb(153,255,153)&amp;quot; | Track 3 - Doheny Beach&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | 07:30-08:30 &lt;br /&gt;
| style=&amp;quot;width: 80%; background: rgb(194,194,194)&amp;quot; colspan=&amp;quot;3&amp;quot; align=&amp;quot;left&amp;quot; | Registration and Breakfast + Coffee&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | 08:30-08:45 &lt;br /&gt;
| style=&amp;quot;width: 80%; background: rgb(242,242,242)&amp;quot; colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; | Welcome to OWASP AppSec US, 2010 (Crystal Cove Auditorium)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | 08:45-9:30 &lt;br /&gt;
| style=&amp;quot;width: 80%; background: rgb(252,252,150)&amp;quot; colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; | Keynote: Jeff Williams (Crystal Cove Auditorium)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | 9:30-10:15 &lt;br /&gt;
| style=&amp;quot;width: 80%; background: rgb(252,252,150)&amp;quot; colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; | Keynote: Chenxi Wang (Crystal Cove Auditorium)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | 10:15-10:35 &lt;br /&gt;
| style=&amp;quot;width: 90%; background: rgb(194,194,194)&amp;quot; colspan=&amp;quot;3&amp;quot; align=&amp;quot;left&amp;quot; | Break - Expo - CTF kick-off (Emerald Bay)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | 10:35-11:20 &lt;br /&gt;
| style=&amp;quot;width: 30%; background: rgb(188,133,122)&amp;quot; align=&amp;quot;left&amp;quot; | How I met your Girlfriend, ''Samy Kamkar''&amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 30%; background: rgb(188,165,122)&amp;quot; align=&amp;quot;left&amp;quot; | Solving Real-World Problems with an Enterprise Security API (ESAPI), ''Chris Schmidt, ServiceMagic''&amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 30%; background: rgb(153,255,153)&amp;quot; align=&amp;quot;left&amp;quot; | Microsoft Security Development Lifecycle for Agile Development, ''Nick Coblentz, AT&amp;amp;amp;T''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | 11:20-11:30 &lt;br /&gt;
| style=&amp;quot;width: 90%; background: rgb(194,194,194)&amp;quot; colspan=&amp;quot;3&amp;quot; align=&amp;quot;left&amp;quot; | Break - Expo - CTF&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | 11:30-12:15 &lt;br /&gt;
| style=&amp;quot;width: 30%; background: rgb(188,133,122)&amp;quot; align=&amp;quot;left&amp;quot; | State of SL on the Internet - 2010 Survey, Results and Conclusions, ''Ivan Ristic, Qualys''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width: 30%; background: rgb(188,165,122)&amp;quot; align=&amp;quot;left&amp;quot; | Into the Rabbit Hole: Execution Flow-based Web Application Testing, ''Rafal Los, Hewlett-Packard''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width: 30%; background: rgb(153,255,153)&amp;quot; align=&amp;quot;left&amp;quot; | Threat Modeling Best Practices, Robert Zigweid, IOActive&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | 12:15-13:15 &lt;br /&gt;
| style=&amp;quot;width: 80%; background: rgb(194,194,194)&amp;quot; colspan=&amp;quot;3&amp;quot; align=&amp;quot;left&amp;quot; | Lunch - Expo - CTF&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | 13:30-14:15 &lt;br /&gt;
| style=&amp;quot;width: 80%; background: rgb(252,252,150)&amp;quot; colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; | Keynote: Bill Cheswick (Crystal Cove Auditorium)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | 14:15-14:25 &lt;br /&gt;
| style=&amp;quot;width: 90%; background: rgb(194,194,194)&amp;quot; colspan=&amp;quot;3&amp;quot; align=&amp;quot;left&amp;quot; | Break - Expo - CTF&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | 14:25-15:10 &lt;br /&gt;
| style=&amp;quot;width: 30%; background: rgb(188,133,122)&amp;quot; align=&amp;quot;left&amp;quot; | P0w3d for Botnet CnC, ''Gunter Ollmann, Damballa''&amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 30%; background: rgb(188,165,122)&amp;quot; align=&amp;quot;left&amp;quot; | Cloud Computing, A Weapon of Mass Destruction?, ''David Bryan''&amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 30%; background: rgb(153,255,153)&amp;quot; align=&amp;quot;left&amp;quot; | The Secure Coding Practices Quick Reference Guide, ''Keith Turpin, Boeing''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | 15:10-15:30 &lt;br /&gt;
| style=&amp;quot;width: 90%; background: rgb(194,194,194)&amp;quot; colspan=&amp;quot;3&amp;quot; align=&amp;quot;left&amp;quot; | Coffee Break - Expo - CTF&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | 15:30-16:15 &lt;br /&gt;
| style=&amp;quot;width: 30%; background: rgb(188,133,122)&amp;quot; align=&amp;quot;left&amp;quot; | Smart Phones with Dumb Apps: Threat Modeling for Mobile Applications, ''Dan Cornell, Denim Group''&amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 30%; background: rgb(188,165,122)&amp;quot; align=&amp;quot;left&amp;quot; | Assessing, Testing and Validating Flash Content, ''Peleus Uhley, Adobe''&amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 30%; background: rgb(153,255,153)&amp;quot; align=&amp;quot;left&amp;quot; | OWASP State of the Union, ''Tom Brennan, OWASP''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | 16:15-16:25 &lt;br /&gt;
| style=&amp;quot;width: 90%; background: rgb(194,194,194)&amp;quot; colspan=&amp;quot;3&amp;quot; align=&amp;quot;left&amp;quot; | Break - Expo - CTF&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | 16:25-17:10 &lt;br /&gt;
| style=&amp;quot;width: 90%; background: rgb(242,242,242)&amp;quot; colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; | Panel Discussion: Security Trends: Jeremiah Grossman, Robert Hansen, TBD...Moderator: Stuart Schwartz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== September 10th  ====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 80%&amp;quot; class=&amp;quot;FCK__ShowTableBorders&amp;quot; border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: rgb(64,88,160); color: white&amp;quot; colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; | '''Conference Day 2 - September 10th, 2010''' &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 30%; background: rgb(188,133,122)&amp;quot; | Track 1 - Crystal Cove Auditorium &lt;br /&gt;
| style=&amp;quot;width: 30%; background: rgb(188,165,122)&amp;quot; | Track 2 - Pacific Ballroom &lt;br /&gt;
| style=&amp;quot;width: 30%; background: rgb(153,255,153)&amp;quot; | Track 3 - Doheny Beach&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | 08:00-09:00 &lt;br /&gt;
| style=&amp;quot;width: 80%; background: rgb(194,194,194)&amp;quot; colspan=&amp;quot;3&amp;quot; align=&amp;quot;left&amp;quot; | Coffee - Expo - CTF&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | 09:00-09:15 &lt;br /&gt;
| style=&amp;quot;width: 80%; background: rgb(242,242,242)&amp;quot; colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; | Announcements (Crystal Cove Auditorium)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | 09:15-10:00 &lt;br /&gt;
| style=&amp;quot;width: 80%; background: rgb(252,252,150)&amp;quot; colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; | Keynote: David Rice (Crystal Cove Auditorium)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | 10:00-10:10 &lt;br /&gt;
| style=&amp;quot;width: 90%; background: rgb(194,194,194)&amp;quot; colspan=&amp;quot;3&amp;quot; align=&amp;quot;left&amp;quot; | Break - Expo - CTF (Emerald Bay)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | 10:10-10:55 &lt;br /&gt;
| style=&amp;quot;width: 30%; background: rgb(188,133,122)&amp;quot; align=&amp;quot;left&amp;quot; | Security Architecting Applications for the Cloud, ''Alex Stamos, iSEC Partners''&amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 30%; background: rgb(188,165,122)&amp;quot; align=&amp;quot;left&amp;quot; | Unraveling Cross-Technology, Cross-Domain Trust Relations, ''Peleus Uhley, Adobe''&amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 30%; background: rgb(153,255,153)&amp;quot; align=&amp;quot;left&amp;quot; | Real Time Application Defenses - The Reality of AppSensor &amp;amp;amp; ESAPI, ''Michael Coates, Mozilla,''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | 10:55-11:15 &lt;br /&gt;
| style=&amp;quot;width: 90%; background: rgb(194,194,194)&amp;quot; colspan=&amp;quot;3&amp;quot; align=&amp;quot;left&amp;quot; | Break - Expo - CTF&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | 11:15-12:00 &lt;br /&gt;
| style=&amp;quot;width: 30%; background: rgb(188,133,122)&amp;quot; align=&amp;quot;left&amp;quot; | Reducing Web application Vulnerabilities: Moving from a Test-Dependent to Design-Driven development, ''Ed Adams, Security Innovation''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width: 30%; background: rgb(188,165,122)&amp;quot; align=&amp;quot;left&amp;quot; | Session Management Security tips and Tricks, ''Lars Ewe, Cenzic''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width: 30%; background: rgb(153,255,153)&amp;quot; align=&amp;quot;left&amp;quot; | The Dark Side of Twitter: Measuring and Analyzing Malicious Activity on Twitter, ''Paul Judge, David Maynor, and Daniel Peck, Barracuda Labs''&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | 12:00-13:15 &lt;br /&gt;
| style=&amp;quot;width: 80%; background: rgb(194,194,194)&amp;quot; colspan=&amp;quot;3&amp;quot; align=&amp;quot;left&amp;quot; | Lunch - Expo - CTF&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | 13:14-14:00 &lt;br /&gt;
| style=&amp;quot;width: 80%; background: rgb(252,252,150)&amp;quot; colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; | Keynote: HD Moore (Crystal Cove Auditorium)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | 14:04-14:50 &lt;br /&gt;
| style=&amp;quot;width: 30%; background: rgb(188,133,122)&amp;quot; align=&amp;quot;left&amp;quot; | Panel Discussion: Vulnerability Lifecycle for Software Vendors, ''Kelly FitzGerald (Symantec), (US CERT), (Cigital), (Tipping Point) Moderator: Edward Bonver''&amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 30%; background: rgb(188,165,122)&amp;quot; align=&amp;quot;left&amp;quot; | Agile + Security = FAIL, ''Adrian Lane''&amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 30%; background: rgb(153,255,153)&amp;quot; align=&amp;quot;left&amp;quot; | Bug-Alcoholic 2.0 - Untamed World of Web Vulnerabilities, ''Aditya K. Sood, Armorize Technologies''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | 14:50-15:10 &lt;br /&gt;
| style=&amp;quot;width: 90%; background: rgb(194,194,194)&amp;quot; colspan=&amp;quot;3&amp;quot; align=&amp;quot;left&amp;quot; | Coffee Break - Expo - CTF&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | 15:10-15:55 &lt;br /&gt;
| style=&amp;quot;width: 30%; background: rgb(188,133,122)&amp;quot; align=&amp;quot;left&amp;quot; | Exploiting Networks through Database Weaknesses, ''Scott Sutherland, NetSPI''&amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 30%; background: rgb(188,165,122)&amp;quot; align=&amp;quot;left&amp;quot; | Defining the Identiy Management Framework, ''Richard Tychansky, Jim Molini, Hord Tipton, and Mike Kilroy''&amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;width: 30%; background: rgb(153,255,153)&amp;quot; align=&amp;quot;left&amp;quot; | ''TBD''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | 15:55-16:05 &lt;br /&gt;
| style=&amp;quot;width: 90%; background: rgb(194,194,194)&amp;quot; colspan=&amp;quot;3&amp;quot; align=&amp;quot;left&amp;quot; | Break - Expo - CTF&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 10%; background: rgb(123,138,189)&amp;quot; | 16:05-16:50 &lt;br /&gt;
| style=&amp;quot;width: 90%; background: rgb(242,242,242)&amp;quot; colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; | Conference Wrap Up: AppSec US 2011 Location Announcement, CTF Results, Prizes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Sponsors  ====&lt;br /&gt;
&lt;br /&gt;
We are currently soliciting sponsors for the AppSec US 2010 Conference. Please refer to our [http://www.appsecusa.org/become-a-sponsor.html List of Sponsorship Opportunities]&amp;amp;nbsp;(or [http://www.owasp.org/images/b/b3/OWASP_sponsorship_Irvine.pdf PDF]). &lt;br /&gt;
&lt;br /&gt;
Please contact [mailto:kate.hartmann@owasp.org Kate Hartmann] for more information. &lt;br /&gt;
&lt;br /&gt;
Slots are going fast so contact us to sponsor today! &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;background: none transparent scroll repeat 0% 0%; color: white; -moz-background-inline-policy: continuous&amp;quot; class=&amp;quot;FCK__ShowTableBorders&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
== Platinum Sponsors ==&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
| [File:Qualys-468-60.png] &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
== Gold Sponsors ==&lt;br /&gt;
&lt;br /&gt;
| [[Image:Ibmneg blurgb.jpg]] &lt;br /&gt;
| [[Image:Fortify logo AppSec Research 2010.png]] &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
== Silver Sponsors ==&lt;br /&gt;
&lt;br /&gt;
| [[Image:AppSecDC2009-Sponsor-fishnet.gif]] &lt;br /&gt;
| [[Image:Acunetix logo 200.png]] &lt;br /&gt;
| [[Image:Barracuda Color Logo.jpg]] &lt;br /&gt;
| [[Image:Cenziclogo.png]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Cigital-hor-color.JPG|120px]] &lt;br /&gt;
| [[Image:Fujitsu-red-opt-b-150x56.gif]] &lt;br /&gt;
| [[Image:Netspi logo.png]] &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
=== Organizational Sponsors ===&lt;br /&gt;
&lt;br /&gt;
| [[Image:Isc2 logo.gif|120px]] &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
=== Reception Sponsors ===&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
=== Coffee Sponsors ===&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== REGISTER NOW  ====&lt;br /&gt;
&lt;br /&gt;
Click [http://www.appsecusa.org/register-now.html here]&amp;amp;nbsp; for registration information. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://www.appsecusa.org/register-now.html http://www.appsecusa.org/register-now.html] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP_AppSec_Conference]] [[Category:OWASP_AppSec_USA]]&lt;/div&gt;</summary>
		<author><name>Ebing</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Top_10_2007-Insecure_Direct_Object_Reference&amp;diff=22011</id>
		<title>Top 10 2007-Insecure Direct Object Reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Top_10_2007-Insecure_Direct_Object_Reference&amp;diff=22011"/>
				<updated>2007-09-28T23:10:11Z</updated>
		
		<summary type="html">&lt;p&gt;Ebing: Corrected number from 1.7 billion to 17,000.  Cleaned up language.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top_10_2007:TopTemplate|usenext=NextLink|next=-Cross Site Request Forgery|useprev=PrevLink|prev=-Malicious File Execution|usemain=MainLink|main=}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A direct object reference occurs when a developer exposes a reference to an internal implementation object, such as a file, directory, database record, or key, as a URL or form parameter. An attacker can manipulate direct object references to access other objects without authorization, unless an access control check is in place.&lt;br /&gt;
&lt;br /&gt;
For example, in Internet Banking applications, it is common to use the account number as the primary key. Therefore, it is tempting to use the account number directly in the web interface. Even if the developers have used parameterized SQL queries to prevent SQL injection, if there is no extra check that the user is the account holder and authorized to see the account, an attacker tampering with the account number parameter can see or change '''''all '''''accounts. &lt;br /&gt;
&lt;br /&gt;
This type of attack occurred to the Australian Taxation Office’s ''GST Start Up Assistance'' site in 2000, where a legitimate but hostile user simply changed the ABN (a company tax id) present in the URL. The user farmed around 17,000 company details from the system, and then e-mailed each system. This was a major embarrassment to the Government of the 17,000 companies with details of his attack. This type of vulnerability is very common, but is largely untested in current applications.&lt;br /&gt;
&lt;br /&gt;
== Environments Affected ==&lt;br /&gt;
&lt;br /&gt;
All web application frameworks are vulnerable to attacks on insecure direct object references.&lt;br /&gt;
&lt;br /&gt;
== Vulnerability ==&lt;br /&gt;
&lt;br /&gt;
Many applications expose their internal object references to users. Attackers use parameter tampering to change references and violate the intended but unenforced access control policy. Frequently, these references point to file systems and databases, but any exposed application construct could be vulnerable.&lt;br /&gt;
&lt;br /&gt;
For example, if code allows user input to specify filenames or paths, it may allow attackers to jump out of the application’s directory, and access other resources.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;&amp;amp;lt;select name=&amp;quot;language&amp;quot;&amp;amp;gt;&amp;amp;lt;option value=&amp;quot;fr&amp;quot;&amp;amp;gt;Français&amp;amp;lt;/option&amp;amp;gt;&amp;amp;lt;/select&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;… &amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;require_once ($_REQUEST['language’].&amp;quot;lang.php&amp;quot;);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Such code can be attacked using a string like &amp;quot;../../../../etc/passwd%00&amp;quot; using [http://www.owasp.org/index.php/Data_Validation null byte injection] (see the [http://www.owasp.org/index.php/OWASP_Guide_Project OWASP Guide] for more information) to access any file on the web server’s file system.&lt;br /&gt;
&lt;br /&gt;
Similarly, references to database keys are frequently exposed. An attacker can attack these parameters simply by guessing or searching for another valid key. Often, these are sequential in nature. In the example below, even if an application does not present any links to unauthorized carts, and no SQL injection is possible, an attacker can still change the cartID parameter to whatever cart they want.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;int cartID = Integer.parseInt( request.getParameter( &amp;quot;cartID&amp;quot; ) );&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;String query = &amp;quot;SELECT * FROM table WHERE cartID=&amp;quot; + cartID;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verifying Security ==&lt;br /&gt;
&lt;br /&gt;
The goal is to verify that the application does not allow direct object references to be manipulated by an attacker.&lt;br /&gt;
&lt;br /&gt;
Automated approaches: Vulnerability scanning tools will have difficulty identifying which parameters are susceptible to manipulation or whether the manipulation worked. Static analysis tools really cannot know which parameters must have an access control check before use.&lt;br /&gt;
&lt;br /&gt;
Manual approaches: Code review can trace critical parameters and identify whether they are susceptible to manipulation in many cases. Penetration testing can also verify that manipulation is possible. However, both of these techniques are time-consuming and can be spotty.&lt;br /&gt;
&lt;br /&gt;
== Protection ==&lt;br /&gt;
&lt;br /&gt;
The best protection is to avoid exposing direct object references to users by using an index, indirect reference map, or other indirect method that is easy to validate. If a direct object reference must be used, ensure that the user is authorized before using it. &lt;br /&gt;
&lt;br /&gt;
Establishing a standard way of referring to application objects is important:&lt;br /&gt;
&lt;br /&gt;
*'''Avoid exposing your private object references to users''' whenever possible, such as primary keys or filenames&lt;br /&gt;
*'''Validate any private object references''' extensively with an &amp;quot;accept known good&amp;quot; approach&lt;br /&gt;
*'''Verify authorization to all referenced objects'''&lt;br /&gt;
The best solution is to use an index value or a reference map to prevent parameter manipulation attacks.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;http://www.example.com/application?file=1&amp;lt;/code&amp;gt;&lt;br /&gt;
If you must expose direct references to database structures, ensure that SQL statements and other database access methods only allow authorized records to be shown:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;int cartID = Integer.parseInt( request.getParameter( &amp;quot;cartID&amp;quot; ) );&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;User user = (User)request.getSession().getAttribute( &amp;quot;user&amp;quot; );&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;String query = &amp;quot;SELECT * FROM table WHERE &lt;br /&gt;
      cartID=&amp;quot; + cartID + &amp;quot; '''AND userID=&amp;quot; + user.getID()''';&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Samples ==&lt;br /&gt;
&lt;br /&gt;
*[http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-0329 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-0329]&lt;br /&gt;
*[http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-4369 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-4369] &lt;br /&gt;
*[http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2005-0229 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2005-0229]  &lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
*CWE: CWE-22 (Path Traversal), CWE-472 (Web Parameter Tampering)&lt;br /&gt;
*WASC Threat Classification: [http://www.webappsec.org/projects/threat/classes/abuse_of_functionality.shtml http://www.webappsec.org/projects/threat/classes/abuse_of_functionality.shtml], [http://www.webappsec.org/projects/threat/classes/insufficient_authorization.shtml http://www.webappsec.org/projects/threat/classes/insufficient_authorization.shtml] &lt;br /&gt;
*OWASP Testing Guide, [http://www.owasp.org/index.php/Testing_for_business_logic http://www.owasp.org/index.php/Testing_for_business_logic] &lt;br /&gt;
*OWASP Testing Guide, [http://www.owasp.org/index.php/Testing_for_Directory_Traversal http://www.owasp.org/index.php/Testing_for_Directory_Traversal] &lt;br /&gt;
*OWASP, [http://www.owasp.org/index.php/Category:Access_Control_Vulnerability http://www.owasp.org/index.php/Category:Access_Control_Vulnerability] &lt;br /&gt;
*GST Assist attack details, [http://www.abc.net.au/7.30/stories/s146760.htm http://www.abc.net.au/7.30/stories/s146760.htm] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Top_10_2007:BottomTemplate|usenext=NextLink|next=-Cross Site Request Forgery|useprev=PrevLink|prev=-Malicious File Execution|usemain=MainLink|main=}}&lt;/div&gt;</summary>
		<author><name>Ebing</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Talk:Java_Server_Faces&amp;diff=19129</id>
		<title>Talk:Java Server Faces</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Talk:Java_Server_Faces&amp;diff=19129"/>
				<updated>2007-06-11T18:30:20Z</updated>
		
		<summary type="html">&lt;p&gt;Ebing: /* EUxx discussion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== EUxx discussion ==&lt;br /&gt;
I think the blog by EUxx missed some of the details of the implementation.  Note that while the MAC and the IV are known, there is still a secret key known to the server used in the MAC that prevents the client from generating a new MAC.  This is a fairly common pattern.  You can see Inderjeet's response at:&lt;br /&gt;
http://weblogs.java.net/blog/inder/archive/2005/05/securing_webapp.html&lt;br /&gt;
&lt;br /&gt;
I think we should either take this section out, or expand on why its an issue.&lt;br /&gt;
[[User:Ebing|Ebing]] 14:30, 11 June 2007 (EDT)&lt;/div&gt;</summary>
		<author><name>Ebing</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Talk:Java_Server_Faces&amp;diff=19128</id>
		<title>Talk:Java Server Faces</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Talk:Java_Server_Faces&amp;diff=19128"/>
				<updated>2007-06-11T18:23:22Z</updated>
		
		<summary type="html">&lt;p&gt;Ebing: New page: == EUxx discussion == I think the blog by EUxx missed some of the details of the implementation.  Note that while the MAC and the IV are known, there is still a secret key known to the ser...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== EUxx discussion ==&lt;br /&gt;
I think the blog by EUxx missed some of the details of the implementation.  Note that while the MAC and the IV are known, there is still a secret key known to the server used in the MAC that prevents the client from generating a new MAC.  This is a fairly common pattern.  You can see Inderjeet's response at:&lt;br /&gt;
http://weblogs.java.net/blog/inder/archive/2005/05/securing_webapp.html&lt;br /&gt;
&lt;br /&gt;
I think we should either take this section out, or expand on why its an issue.&lt;/div&gt;</summary>
		<author><name>Ebing</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Java_Server_Faces&amp;diff=19127</id>
		<title>Java Server Faces</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Java_Server_Faces&amp;diff=19127"/>
				<updated>2007-06-11T17:57:31Z</updated>
		
		<summary type="html">&lt;p&gt;Ebing: /* JSF Standards and roles */  cleanup of language&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Status==&lt;br /&gt;
'''Content to be finalised.  Needs reviewing'''&lt;br /&gt;
==Author==&lt;br /&gt;
Sam Reghenzi&lt;br /&gt;
==Web security.. before you start ==&lt;br /&gt;
&lt;br /&gt;
This document is about security in web applications developed using the Java Server Faces (JSF) framework. The reader should be aware of the meaning of common terms of both JSF (converters, validators, managed beans) and web security (injection etc.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==JSF Standards and roles==&lt;br /&gt;
JavaServer Faces (JSF) is a Java-based Web application framework that implements the Model-View-Controller pattern and simplifies the development of web interfaces for Java EE applications.&lt;br /&gt;
&lt;br /&gt;
In a standard MVC JSF are meant to provide the V (of view) and part of the C (of Control). JSF components can present almost any basic interface model. The framework also provides part of the Control layer including:&lt;br /&gt;
* Navigation Handling &lt;br /&gt;
* Error Handling &lt;br /&gt;
* Action and event Management &lt;br /&gt;
* Input validation &lt;br /&gt;
* Value conversion &lt;br /&gt;
These elements are defined by the JSF standard (JCP 127) so that any attacker will have knowledge of the architecture and life cycle of a JSF based application. JSF does not implement it's own security model but instead relies on standard JEE security. This means that both application server security model, JAAS or other ACL implementations can be used with the JSF framework without any integration effort. But Access Control is just one part of security - all aspects should be implemented in a secure manner in order to consider the application itself secure.&lt;br /&gt;
&lt;br /&gt;
==Client-side state saving==&lt;br /&gt;
A JSF application can save the state of its components in the client response or on the server. Saving state on the client may be required because some users turn off cookies support, but it can increase response times when connections are slow. Saving state on the server may have the disadvantage of high memory consumption for the user, but it does minimize bandwidth requirements.&lt;br /&gt;
Since client-side state saving stores data in the client , it should be used wisely, or not used at all. An attacker that can manipulate a user's data could manage a data tampering or worst, a privilege escalation exploit. Unencrypted data is quite easy to manipulate and most of the client-side saved data are serialized Java objects  which can contain a wealth of sensitive data. If you plan to use client-side state saving carefully consider which information you decide to store in the POJO/DTO in order to minimise these risks.&lt;br /&gt;
==Components==&lt;br /&gt;
===Converters===&lt;br /&gt;
Converter could be a source of threat since it converts string in Java objects. An attacker could inject malicious code or tampered data to make the converter itself misbehave and expose protected data. The converter system is not insecure by itself, but conversion, since it is a security touch point for business logic and persistent data, should be handled carefully. Input should '''always''' be validated '''after''' being converted. In JSF lingo you should '''always''' have a validator if a conversion occurs. See next section on how to implement a security aware validator.&lt;br /&gt;
&lt;br /&gt;
===Validators===&lt;br /&gt;
Validation is your chance to verify that the input is as expected. This means that the input should be validated both from a domain view and from a security view. If input represents a string that in your domain should be from 10 to 254 characters long, the same string should be validated also to prevent SQL Injection and XSS attacks. Since many security checks are done using dictionary algorithms it's useful to have a validator that implements those checks and extends it to implement your domain validator.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 public class TenToHundredsValidator extends SecureValidator() {&lt;br /&gt;
    public void validate(...) {&lt;br /&gt;
       &lt;br /&gt;
       super.validate(...); // Do security checks&lt;br /&gt;
       &lt;br /&gt;
       domainvalidate(....);&lt;br /&gt;
    }&lt;br /&gt;
 }          &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ManagedBeans===&lt;br /&gt;
Managed beans are the gears of JSF based application. Developers can access FacesContext statically and this is potentially dangerous. This is a common short cut for everything in the JSF layer, but manipulating this data could be harmful. Relying on security principals, and software engineering, is always a good approach.&lt;br /&gt;
Calls such as:&lt;br /&gt;
    FacesContext.getCurrentInstance().getExternalContext().getRequestParameter(&amp;quot;name&amp;quot;)&lt;br /&gt;
are dangerous because the whole validation stack is bypassed. You can read parameters but consider them as tainted input. Use Validators described above also if you are not in the validation phase . Validators are also an effective way to refactor your validation code and to prevent code repetition.&lt;br /&gt;
FacesContext  also allows access to user principal data; this data could be used to verify if the current user can actually execute the business logic in the managed Bean.&lt;br /&gt;
This practice should be adopted in favour of rendering or not the commandLinks that lead to the action of the managed Bean. A structured adoption of an execution based security framework , such as ACEGI (see the Appendix), could be a good enforcement of the security of the  managed bean.&lt;br /&gt;
===Custom components===&lt;br /&gt;
If the use of custom components is required in the application, the security depends on how the components are developed. Third party components should be delivered with a security report and support from the specific vendor or community.&lt;br /&gt;
If you develop custom components you should be aware of the same old security issues of web development:&lt;br /&gt;
* Do not thrust request parameter &lt;br /&gt;
* Do not thrust cookies &lt;br /&gt;
* Always consider that session could be hijacked &lt;br /&gt;
Since the component tree is assembled server side it can be trusted so if your custom component needs to read data from a sibling component it should be considered a safe operation although you will have to make assumptions on element names of the tree.&lt;br /&gt;
==Implementations==&lt;br /&gt;
Since more than one JSF Implementation exists, bugs of the implementation should be first on the security list.&lt;br /&gt;
&lt;br /&gt;
===MyFaces===&lt;br /&gt;
There aren't major or critical security bugs registered in the current stable release of MyFaces (1.1.5). Client state saving is still the weak point and should be used wisely. My Faces comes also with a Security Extension  (http://wiki.apache.org/myfaces/SecurityContext) that allows to safely and easily retrieve authenticated user details.&lt;br /&gt;
&lt;br /&gt;
The MyFaces resource filter could be a source of threat. It is designed to expose resources from a jar file and could therefore, be considered, potentially dangerous. Note there aren't any claimed security flaws nor exploits in the resource filter, but the nature of this component makes it a good target for attackers. Since all it has to do is serve data it is recommended that a dispatcher be added to the filter mapping element. This should lower the possibility of an attacker successfully manipulating the server request.&lt;br /&gt;
For more information see: http://myfaces.apache.org/tomahawk/extensionsFilter.htm&lt;br /&gt;
&lt;br /&gt;
There is also an easy way to enable encryption when using ''client save state''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;context-param&amp;gt;&lt;br /&gt;
        &amp;lt;param-name&amp;gt;org.apache.myfaces.secret&amp;lt;/param-name&amp;gt;&lt;br /&gt;
        &amp;lt;param-value&amp;gt;NzY1NDMyMTA=&amp;lt;/param-value&amp;gt;&lt;br /&gt;
    &amp;lt;/context-param&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supported encryption methods are BlowFish, 3DES, AES and are definde bya a context parameter&lt;br /&gt;
&lt;br /&gt;
&amp;lt;context-param&amp;gt;&lt;br /&gt;
        &amp;lt;param-name&amp;gt;org.apache.myfaces.algorithm&amp;lt;/param-name&amp;gt;&lt;br /&gt;
        &amp;lt;param-value&amp;gt;Blowfish&amp;lt;/param-value&amp;gt;&lt;br /&gt;
    &amp;lt;/context-param&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can find mre info at http://wiki.apache.org/myfaces/Secure_Your_Application&lt;br /&gt;
&lt;br /&gt;
===SUN Reference Implementation===&lt;br /&gt;
Quoting from the documentation:&lt;br /&gt;
''There are several ways for a web application to store session state on the client tier. One possible solution is to use Cookies to store the state on the client. However, cookies have limitations in size and are not ideal in cases where you want to store session state on the client.  The state that needs to be stored on the client is first serialized into a byte array. This byte array is then encrypted using industrial-strength 3DES with cipher-block-chaining (CBC) and an initialization vector. To make the content tamper-resistant, we then create a message authentication code (using SHA1 algorithm) from the encrypted content and the initialization vector. The initialization vector, the message authentication code, and the encrypted content is then combined in a single byte array. Finally, this resulting byte array is converted into a base64 string which is stored in a hidden FORM field on the client.&lt;br /&gt;
This solution is secure because it uses a strong crypto algorithm and also uses a MAC for tamper-resistance. We also generate all the random numbers (for example, to generate the initialization vectors and the password) using the cryptographically-secure SecureRandom class. Note that the encryption keys are NEVER sent to the client or sent on the wire. These keys are used only on the server-side to encrypt and decrypt the state. One challenge is to decide what encryption keys to use. The encryption keys should not be known to the client, but still be associated with the client. We solve this problem by generating these keys from a password that is generated randomly and stored in the HttpSession. This strategy for key generation through password is pluggable in our solution and can be changed if needed.''&lt;br /&gt;
===EUxx===&lt;br /&gt;
http://jroller.com/page/eu stated the following:&lt;br /&gt;
''It seems there are few gaps in this claim. Data sent to the client look like this: [MAC][IV][ENCDATA] As you can see, MAC and IV values are known to the client. It means that nothing can stop client from tampering ENCDATA block and then generate a new MAC. This can be improved with using signature based on public key scheme instead of MAC. However that will increase amount of computations for building message data and will require to store public key in HttpSession. Another potential security issue is related to the usage of block cipher. By the nature of Object Serialization Stream Protocol, every encrypted plain text will have common patterns. More over, because client can indirectly control content of the encrypted data by submitting specially crafted requests to the server, that some data from request will be sent back in encrypted form). This can open the door for &amp;quot;known-text&amp;quot; attack and I'm not sure how good &amp;quot;industrial-strength&amp;quot; ciphers against such attacks. Again, this can be improved by generating secure key for every request, but it will create additional troubles on concurrent scenarios and will require that key will be distributed across the cluster on every change. So, I think that above issues has to be investigated more deep and proper security analysis must be done before suggesting any solution that is using some forms of cryptography.''&lt;br /&gt;
===ICE Faces===&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Apendix I==&lt;br /&gt;
&lt;br /&gt;
===ACEGI Integration===&lt;br /&gt;
&lt;br /&gt;
Acegi Security is a powerful, flexible security solution for enterprise software, with a particular emphasis on applications that use Spring. If used in combination with jsf, the managed beans could become more &amp;quot;security aware&amp;quot; since acegi do not only perform authentication but also authorization in business layer. Acegi is a convenient way to manage security in all the layers of our application. This is a valuable thing especially when authorization is strongly coupled with business logic (approval work flows etc).&lt;br /&gt;
&lt;br /&gt;
In order to use a custom JSF-Acegi login we have to provide a valid Security Context (''userName'' and ''password'' are properties of the managed bean)&lt;br /&gt;
&lt;br /&gt;
 UsernamePasswordAuthenticationToken authReq = new UsernamePasswordAuthenticationToken(userName, password);&lt;br /&gt;
 Authentication auth = getAuthenticationManager().authenticate(authReq);&lt;br /&gt;
 SecurityContext secCtx = SecurityContextHolder.getContext();&lt;br /&gt;
 secCtx.setAuthentication(auth);&lt;br /&gt;
&lt;br /&gt;
We can override the standard ACEGI navigation with custom, logic driven, navigation reading security context and routing the outcome.&lt;br /&gt;
&lt;br /&gt;
More information can be found at  http://www.javakaffee.de/blog/2006/07/04/jsfacegi-authentication-with-a-backing-bean/&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Java Project]]&lt;/div&gt;</summary>
		<author><name>Ebing</name></author>	</entry>

	</feed>