<?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=Rahimjina</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=Rahimjina"/>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php/Special:Contributions/Rahimjina"/>
		<updated>2026-04-13T23:57:22Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.27.2</generator>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects_Reboot_2012&amp;diff=136392</id>
		<title>Projects Reboot 2012</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects_Reboot_2012&amp;diff=136392"/>
				<updated>2012-09-24T23:47:20Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
'''Welcome the the OWASP Project Reboot Page:&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
''What is the OWASP Project ReBoot initiative?''&lt;br /&gt;
&lt;br /&gt;
OWASP needs to refresh, revitalize &amp;amp; update its projects. We need to make the software development community more aware of our efforts and demonstrate the foundations library of solutions &amp;amp; guidance designed to help with the secure application development lifecycle.&lt;br /&gt;
&lt;br /&gt;
The proposal for this initiative is here:&lt;br /&gt;
&lt;br /&gt;
'''[https://docs.google.com/a/owasp.org/file/d/0B5Z9zE0hx0LNSUZvOWVKd1JRWnlVaGJMcjB3SEN3Zw/edit Project Re-Boot Proposal]'''&lt;br /&gt;
&lt;br /&gt;
'''Project Lead''': Eoin Keary &amp;lt;br&amp;gt;&lt;br /&gt;
'''Proposal Approval Team''': Jim Manico, Rahim Jina, Tom Brennan,...&amp;lt;br&amp;gt;&lt;br /&gt;
[[Reboot_Review_Criteria]] (For review team)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Board Approval can be seen here:&lt;br /&gt;
[https://www.owasp.org/index.php/May_14,2012]&lt;br /&gt;
&lt;br /&gt;
To that end we have a budget to fund various project related activities. We hope putting some financial support behind projects will re-energise our community and hopefully deliver some great high quality material which can be used to support software developers and testers for years to come:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Current Submissions''' &amp;lt;br&amp;gt;&lt;br /&gt;
'''[[OWASP Application Security Guide For CISOs]]'''  - Selected for Reboot&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[OWASP Development Guide]]''' - Selected for Reboot&amp;lt;br&amp;gt;  &lt;br /&gt;
'''[[OWASP Zed Attack Proxy Reboot2012|Zed Attack Proxy]]'''   - Selected for Reboot&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[OWASP WebGoat Reboot2012|OWASP WebGoat]]''' &amp;lt;br&amp;gt;&lt;br /&gt;
'''[[OWASP AppSensor]]'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[OWASP Mobile Project]]'''  - Selected for Reboot&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[OWASP_Portuguese_Project_Proposal | OWASP Portuguese Language Project]]'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[OWASP_Application_Testing_guide_v4]]'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[OWASP_ESAPI_Reboot2012 | OWASP ESAPI]]'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[OWASP_Eliminate_Vulnerable_Code_Reboot | OWASP Eliminate Vulnerable Code Project]]'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[OWASP_Code_Review_Guide_Reboot]]'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Key Dates:'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''Submission closing date''': July 30th 2012 &amp;lt;br&amp;gt;&lt;br /&gt;
'''First round of proposal selection''': 15 June 2012&amp;lt;br&amp;gt;&lt;br /&gt;
'''Second round of proposal selection''': 10 Aug 2012&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''First Round Decisions'''&amp;lt;br&amp;gt;&lt;br /&gt;
The following table shows to votes submitted by reviewers. 1 is first preference, 2 is second preference and so on..&lt;br /&gt;
'''Any Outstanding / additional proposals shall be voted on during the second round of proposal selection (10/8/2012).'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;  width=&amp;quot;50%&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;!-- Row 1 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Proposal&amp;lt;/td&amp;gt;&amp;lt;!-- Col 1 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Tom&amp;lt;/td&amp;gt;&amp;lt;!-- Col 2 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Jim&amp;lt;/td&amp;gt;&amp;lt;!-- Col 3 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Rahim&amp;lt;/td&amp;gt;&amp;lt;!-- Col 4 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Eoin&amp;lt;/td&amp;gt;&amp;lt;!-- Col 5 --&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;!-- Row 2 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;OWASP Development Guide&amp;lt;/td&amp;gt;&amp;lt;!-- Col 1 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;!-- Col 2 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;!-- Col 3 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;PI-1 PII-1&amp;lt;/td&amp;gt;&amp;lt;!-- Col 4 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;!-- Col 5 --&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;!-- Row 3 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;OWASP CISO Guide&amp;lt;/td&amp;gt;&amp;lt;!-- Col 1 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;!-- Col 2 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;7&amp;lt;/td&amp;gt;&amp;lt;!-- Col 3 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;PI-2 PII-3&amp;lt;/td&amp;gt;&amp;lt;!-- Col 4 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;!-- Col 5 --&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;!-- Row 4 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;OWASP Mobile Project&amp;lt;/td&amp;gt;&amp;lt;!-- Col 1 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;!-- Col 2 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;!-- Col 3 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;PI-4 PII-4&amp;lt;/td&amp;gt;&amp;lt;!-- Col 4 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;!-- Col 5 --&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;!-- Row 5 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;OWASP WebGoat PHP&amp;lt;/td&amp;gt;&amp;lt;!-- Col 1 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;!-- Col 2 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;6&amp;lt;/td&amp;gt;&amp;lt;!-- Col 3 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;PI-6 PII-10&amp;lt;/td&amp;gt;&amp;lt;!-- Col 4 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;6&amp;lt;/td&amp;gt;&amp;lt;!-- Col 5 --&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;!-- Row 6 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;OWASP Zed Attack Proxy&amp;lt;/td&amp;gt;&amp;lt;!-- Col 1 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;!-- Col 2 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;&amp;lt;!-- Col 3 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;PI-3 PII-6&amp;lt;/td&amp;gt;&amp;lt;!-- Col 4 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;&amp;lt;!-- Col 5 --&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;!-- Row 7 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;OWASP AppSensor&amp;lt;/td&amp;gt;&amp;lt;!-- Col 1 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;!-- Col 2 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;5&amp;lt;/td&amp;gt;&amp;lt;!-- Col 3 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;PI-5 PII-7&amp;lt;/td&amp;gt;&amp;lt;!-- Col 4 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;5&amp;lt;/td&amp;gt;&amp;lt;!-- Col 5 --&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;!-- Row 8 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;OWASP Testing Guide&amp;lt;/td&amp;gt;&amp;lt;!-- Col 1 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;!-- Col 2 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;!-- Col 3 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;PII-2&amp;lt;/td&amp;gt;&amp;lt;!-- Col 4 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;!-- Col 5 --&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;!-- Row 9 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;OWASP ESAPI&amp;lt;/td&amp;gt;&amp;lt;!-- Col 1 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;!-- Col 2 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;10&amp;lt;/td&amp;gt;&amp;lt;!-- Col 3 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;PII-5&amp;lt;/td&amp;gt;&amp;lt;!-- Col 4 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;!-- Col 5 --&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;!-- Row 10 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;OWASP_Eliminate_Vulnerable_Code&amp;lt;/td&amp;gt;&amp;lt;!-- Col 1 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;&amp;lt;!-- Col 2 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;9&amp;lt;/td&amp;gt;&amp;lt;!-- Col 3 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;PII-8&amp;lt;/td&amp;gt;&amp;lt;!-- Col 4 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;!-- Col 5 --&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;!-- Row 9 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;OWASP Portuguese Language Project&amp;lt;/td&amp;gt;&amp;lt;!-- Col 1 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;!-- Col 2 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;8&amp;lt;/td&amp;gt;&amp;lt;!-- Col 3 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;PII-9&amp;lt;/td&amp;gt;&amp;lt;!-- Col 4 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;!-- Col 5 --&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Projects selected via first round of review''': &amp;lt;br&amp;gt;&lt;br /&gt;
#'''OWASP Development Guide''': Funding Amount: $5000 initial funding&lt;br /&gt;
#'''OWASP CISO Guide''': Funding Amount: $5000 initial funding&lt;br /&gt;
#'''OWASP Zed Attack Proxy''': Funding Amount: $5000 initial funding&lt;br /&gt;
#'''OWASP Mobile Project''': Funding Amount: $5000 initial funding&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Activity types''':&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Type 1''': Update, rewrite &amp;amp; complete guides or tools.&amp;lt;br&amp;gt;&lt;br /&gt;
This &amp;quot;type&amp;quot; is aimed at both existing and new tools or guides which require development effort to update, augment, rewrite, develop in order to achieve a high quality release quality product.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&amp;lt;br&amp;gt;&lt;br /&gt;
#&amp;quot;Mini&amp;quot; Project based summits: Expenses associated with getting global workshops, with the aim of releasing a new version of a project.&amp;lt;br&amp;gt;&lt;br /&gt;
#Paying contributors for their time and effort.&amp;lt;br&amp;gt;&lt;br /&gt;
#Paying for user guides etc to be professionally developed (technical writing etc).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Type 2''': Market, Training, Awareness, increase adoption.&amp;lt;br&amp;gt;&lt;br /&gt;
Existing, healthy robust tools and guides can utilise Type 2 activities to help with creating awareness and increasing adoption of that project.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&amp;lt;br&amp;gt;&lt;br /&gt;
#Assisting with expenses associated with marketing a project.&amp;lt;br&amp;gt;&lt;br /&gt;
#Costs facilitating OWASP project focused training and awareness events&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''How are we going to fund this??'''&amp;lt;br&amp;gt;&lt;br /&gt;
We are requesting all OWASP chapters which are in a healthy financial position to pledge 25% of their chapters funds to pay for this initiative.&amp;lt;br&amp;gt;&lt;br /&gt;
[https://www.surveymonkey.com/s/OWASP-REBOOT Pledge some chapter funds here]&lt;br /&gt;
&lt;br /&gt;
Donate $1.00 to help save a current or future software application [http://www.firstgiving.com/fundraiser/projectreboot/owasp-project-reboot Click Here]&lt;br /&gt;
&lt;br /&gt;
The Foundation shall also support this initiative with additional funding.&amp;lt;br&amp;gt;&lt;br /&gt;
The goal is to accumulate a budget of $100K which shall be appointed to projects undergoing this reboot.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/a/owasp.org/spreadsheet/pub?hl=en_US&amp;amp;hl=en_US&amp;amp;key=0Atu4kyR3ljftdEdQWTczbUxoMUFnWmlTODZ2ZFZvaXc&amp;amp;output=html - Chapter Funds]&lt;br /&gt;
&lt;br /&gt;
'''Can I apply for this Reboot?'''&amp;lt;br&amp;gt;&lt;br /&gt;
You certainly can, assuming you are an OWASP member.&amp;lt;br&amp;gt;&lt;br /&gt;
If you feel your project is ready or has potential you can apply for the reboot programme.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''How does funding work?'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Type 1''': Funding can be applied for as required if travel/mini summit etc is to be expensed as part of the reboot. Development activities; payment to contributors shall be at 50% and 100% milestones.&amp;lt;br&amp;gt;&lt;br /&gt;
Milestones are agreed prior to project reboot initiation.&amp;lt;br&amp;gt;&lt;br /&gt;
Once the 50% milestone is reached the work done to date shall be reviewed by a member of the [https://www.owasp.org/index.php/Category:Global_Projects_Committee - GPC] and also another nominated OWASP reviewer (generally an OWASP leader).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Type 2''': Funding is supplied as required. Items to be funded are agreed prior to reboot initiation.&amp;lt;br&amp;gt;&lt;br /&gt;
Invoices for the required services are sent directly to the foundation for payment.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''How do I apply?'''&lt;br /&gt;
Send in a proposal with the following information:&lt;br /&gt;
&lt;br /&gt;
# Project name and description. Including reboot project lead and any team members.&lt;br /&gt;
# Re boot type (Type 1 or Type 2)&lt;br /&gt;
# Goals of the reboot&lt;br /&gt;
# Timeline for the 50% milestone and the 100% milestone. Suggested milestone reviewers (Generally OWASP Leaders or other industry experts)&lt;br /&gt;
# Budget required and how you shall spend it.&lt;br /&gt;
&lt;br /&gt;
Want to support this initiative or learn more? Contact [mailto:eoin.keary@owasp.org Eoin Keary]&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects_Reboot_2012&amp;diff=131606</id>
		<title>Projects Reboot 2012</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects_Reboot_2012&amp;diff=131606"/>
				<updated>2012-06-19T16:56:07Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
'''Welcome the the OWASP Project Reboot Page:&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
''What is the OWASP Project ReBoot initiative?''&lt;br /&gt;
&lt;br /&gt;
OWASP needs to refresh, revitalize &amp;amp; update its projects. We need to make the software development community more aware of our efforts and demonstrate the foundations library of solutions &amp;amp; guidance designed to help with the secure application development lifecycle.&lt;br /&gt;
&lt;br /&gt;
The proposal for this initiative is here:&lt;br /&gt;
&lt;br /&gt;
'''[https://docs.google.com/a/owasp.org/file/d/0B5Z9zE0hx0LNSUZvOWVKd1JRWnlVaGJMcjB3SEN3Zw/edit Project Re-Boot Proposal]'''&lt;br /&gt;
&lt;br /&gt;
'''Project Lead''': Eoin Keary &amp;lt;br&amp;gt;&lt;br /&gt;
'''Proposal Approval Team''': Jim Manico, Rahim Jina, Tom Brennan,...&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Board Approval can be seen here:&lt;br /&gt;
[https://www.owasp.org/index.php/May_14,2012]&lt;br /&gt;
&lt;br /&gt;
To that end we have a budget to fund various project related activities. We hope putting some financial support behind projects will re-energise our community and hopefully deliver some great high quality material which can be used to support software developers and testers for years to come:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Current Submissions''' &amp;lt;br&amp;gt;&lt;br /&gt;
'''[[OWASP Application Security Guide For CISOs]]'''  - Selected for Reboot&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[OWASP Development Guide]]''' - Selected for Reboot&amp;lt;br&amp;gt;  &lt;br /&gt;
'''[[OWASP Zed Attack Proxy Reboot2012|Zed Attack Proxy]]'''   - Selected for Reboot&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[OWASP WebGoat Reboot2012|OWASP WebGoat]]''' &amp;lt;br&amp;gt;&lt;br /&gt;
'''[[OWASP Cheat Sheets]]'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[OWASP AppSensor]]'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[OWASP Mobile Project]]'''  - Selected for Reboot&amp;lt;br&amp;gt;&lt;br /&gt;
'''[[OWASP_Portuguese_Project_Proposal | OWASP Portuguese Language Project]]'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Key Dates:'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''Submission closing date''': July 30th 2012 &amp;lt;br&amp;gt;&lt;br /&gt;
'''First round of proposal selection''': 15 June 2012&amp;lt;br&amp;gt;&lt;br /&gt;
'''Second round of proposal selection''': 10 Aug 2012&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''First Round Decisions'''&amp;lt;br&amp;gt;&lt;br /&gt;
The following table shows to votes submitted by reviewers. 1 is first preference, 2 is second preference and so on..&lt;br /&gt;
'''Any Outstanding / additional proposals shall be voted on during the second round of proposal selection (10/8/2012).'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;  width=&amp;quot;50%&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;!-- Row 1 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Proposal&amp;lt;/td&amp;gt;&amp;lt;!-- Col 1 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Tom&amp;lt;/td&amp;gt;&amp;lt;!-- Col 2 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Jim&amp;lt;/td&amp;gt;&amp;lt;!-- Col 3 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Rahim&amp;lt;/td&amp;gt;&amp;lt;!-- Col 4 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;Eoin&amp;lt;/td&amp;gt;&amp;lt;!-- Col 5 --&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;!-- Row 2 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;OWASP Development Guide&amp;lt;/td&amp;gt;&amp;lt;!-- Col 1 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;!-- Col 2 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;!-- Col 3 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;!-- Col 4 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;!-- Col 5 --&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;!-- Row 3 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;OWASP CISO Guide&amp;lt;/td&amp;gt;&amp;lt;!-- Col 1 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;!-- Col 2 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;!-- Col 3 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;!-- Col 4 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;!-- Col 5 --&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;!-- Row 4 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;OWASP Mobile Project&amp;lt;/td&amp;gt;&amp;lt;!-- Col 1 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;&amp;lt;!-- Col 2 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;!-- Col 3 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;!-- Col 4 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;!-- Col 5 --&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;!-- Row 5 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;OWASP WebGoat PHP&amp;lt;/td&amp;gt;&amp;lt;!-- Col 1 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;!-- Col 2 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;!-- Col 3 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;6&amp;lt;/td&amp;gt;&amp;lt;!-- Col 4 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;6&amp;lt;/td&amp;gt;&amp;lt;!-- Col 5 --&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;!-- Row 6 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;OWASP Zed Attack Proxy&amp;lt;/td&amp;gt;&amp;lt;!-- Col 1 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;5&amp;lt;/td&amp;gt;&amp;lt;!-- Col 2 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;&amp;lt;!-- Col 3 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;&amp;lt;!-- Col 4 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;&amp;lt;!-- Col 5 --&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&amp;lt;!-- Row 7 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;OWASP AppSensor&amp;lt;/td&amp;gt;&amp;lt;!-- Col 1 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;6&amp;lt;/td&amp;gt;&amp;lt;!-- Col 2 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;!-- Col 3 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;5&amp;lt;/td&amp;gt;&amp;lt;!-- Col 4 --&amp;gt;&lt;br /&gt;
     &amp;lt;td&amp;gt;5&amp;lt;/td&amp;gt;&amp;lt;!-- Col 5 --&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Projects selected via first round of review''': &amp;lt;br&amp;gt;&lt;br /&gt;
#'''OWASP Development Guide''': Funding Amount: $$$&lt;br /&gt;
#'''OWASP CISO Guide''': Funding Amount: $$$&lt;br /&gt;
#'''OWASP Zed Attack Proxy''': Funding Amount: $$$&lt;br /&gt;
#'''OWASP Mobile Project''': Funding Amount: $$$&lt;br /&gt;
&lt;br /&gt;
Funding for each of the selected projects above shall be communicated to project leaders once determined.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Activity types''':&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Type 1''': Update, rewrite &amp;amp; complete guides or tools.&amp;lt;br&amp;gt;&lt;br /&gt;
This &amp;quot;type&amp;quot; is aimed at both existing and new tools or guides which require development effort to update, augment, rewrite, develop in order to achieve a high quality release quality product.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&amp;lt;br&amp;gt;&lt;br /&gt;
#&amp;quot;Mini&amp;quot; Project based summits: Expenses associated with getting global workshops, with the aim of releasing a new version of a project.&amp;lt;br&amp;gt;&lt;br /&gt;
#Paying contributors for their time and effort.&amp;lt;br&amp;gt;&lt;br /&gt;
#Paying for user guides etc to be professionally developed (technical writing etc).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Type 2''': Market, Training, Awareness, increase adoption.&amp;lt;br&amp;gt;&lt;br /&gt;
Existing, healthy robust tools and guides can utilise Type 2 activities to help with creating awareness and increasing adoption of that project.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&amp;lt;br&amp;gt;&lt;br /&gt;
#Assisting with expenses associated with marketing a project.&amp;lt;br&amp;gt;&lt;br /&gt;
#Costs facilitating OWASP project focused training and awareness events&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''How are we going to fund this??'''&amp;lt;br&amp;gt;&lt;br /&gt;
We are requesting all OWASP chapters which are in a healthy financial position to pledge 25% of their chapters funds to pay for this initiative.&amp;lt;br&amp;gt;&lt;br /&gt;
[https://www.surveymonkey.com/s/OWASP-REBOOT Pledge some chapter funds here]&lt;br /&gt;
&lt;br /&gt;
Donate $1.00 to help save a current or future software application [http://www.firstgiving.com/fundraiser/projectreboot/owasp-project-reboot Click Here]&lt;br /&gt;
&lt;br /&gt;
The Foundation shall also support this initiative with additional funding.&amp;lt;br&amp;gt;&lt;br /&gt;
The goal is to accumulate a budget of $100K which shall be appointed to projects undergoing this reboot.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/a/owasp.org/spreadsheet/pub?hl=en_US&amp;amp;hl=en_US&amp;amp;key=0Atu4kyR3ljftdEdQWTczbUxoMUFnWmlTODZ2ZFZvaXc&amp;amp;output=html - Chapter Funds]&lt;br /&gt;
&lt;br /&gt;
'''Can I apply for this Reboot?'''&amp;lt;br&amp;gt;&lt;br /&gt;
You certainly can, assuming you are an OWASP member.&amp;lt;br&amp;gt;&lt;br /&gt;
If you feel your project is ready or has potential you can apply for the reboot programme.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''How does funding work?'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Type 1''': Funding can be applied for as required if travel/mini summit etc is to be expensed as part of the reboot. Development activities; payment to contributors shall be at 50% and 100% milestones.&amp;lt;br&amp;gt;&lt;br /&gt;
Milestones are agreed prior to project reboot initiation.&amp;lt;br&amp;gt;&lt;br /&gt;
Once the 50% milestone is reached the work done to date shall be reviewed by a member of the [https://www.owasp.org/index.php/Category:Global_Projects_Committee - GPC] and also another nominated OWASP reviewer (generally an OWASP leader).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Type 2''': Funding is supplied as required. Items to be funded are agreed prior to reboot initiation.&amp;lt;br&amp;gt;&lt;br /&gt;
Invoices for the required services are sent directly to the foundation for payment.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''How do I apply?'''&lt;br /&gt;
Send in a proposal with the following information:&lt;br /&gt;
&lt;br /&gt;
# Project name and description. Including reboot project lead and any team members.&lt;br /&gt;
# Re boot type (Type 1 or Type 2)&lt;br /&gt;
# Goals of the reboot&lt;br /&gt;
# Timeline for the 50% milestone and the 100% milestone. Suggested milestone reviewers (Generally OWASP Leaders or other industry experts)&lt;br /&gt;
# Budget required and how you shall spend it.&lt;br /&gt;
&lt;br /&gt;
Want to support this initiative or learn more? Contact [mailto:eoin.keary@owasp.org Eoin Keary]&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Scareware_Traversing_the_World_via_Ireland&amp;diff=86763</id>
		<title>Scareware Traversing the World via Ireland</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Scareware_Traversing_the_World_via_Ireland&amp;diff=86763"/>
				<updated>2010-07-21T19:14:07Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: Created page with 'In 2008, a dedicated group of security professionals came together to set up IRISS-CERT, Ireland's first CSIRT, to provide a range of free services to Irish businesses and consum…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In 2008, a dedicated group of security professionals came together to set up IRISS-CERT, Ireland's first CSIRT, to provide a range of free services to Irish businesses and consumers in relation to information security issues. The aim is to help counter the security threats posed to both the Irish businesses and the Irish Internet space.&lt;br /&gt;
&lt;br /&gt;
Throughout the first two years, IRISS-CERT has notified and helped many website owners detect, clean or restore their sites after a compromise.&lt;br /&gt;
&lt;br /&gt;
In July 2009, several Irish websites were attacked and had malware code injected into them. These (compromised) websites redirected end-users to malicious websites, which subsequently served malware to anyone who was browsing the original legitimate sites. The notification of this compromise (to IRISS CERT) resulted in me beginning the on-duty Incident Handler, initiating the Incident Handling Process to examine the issue.&lt;br /&gt;
&lt;br /&gt;
Mark will summarise this aforementioned attack and briefly include other types of attacks that IRISS-CERT have seen. He will primarily focus on the process as laid out in his GIAC GCIH Gold Paper. The investigation into the July 2009 attack and the associated complex infrastructure prompted the research paper. &lt;br /&gt;
&lt;br /&gt;
The talk will cover the various stages of the Incident Handling Process explaining how they pertain to both the web application exploit and the associated scareware installation.&lt;br /&gt;
&lt;br /&gt;
By discussing these attacks, the talk should enable both companies and volunteer organisations to improve Incident Handling efforts when responding to Web Application attacks.&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_IRELAND_2010&amp;diff=86762</id>
		<title>OWASP IRELAND 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_IRELAND_2010&amp;diff=86762"/>
				<updated>2010-07-21T19:13:19Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Dublin2010.gif]]&amp;amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welcome to the Irish OWASP Application Security Conference!&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its Ireland's turn again&amp;amp;nbsp;on '''September 17, 2010''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''September 17th 2010''': OWASP will hold its second Irish Application Security conference in&amp;amp;nbsp;Dublin University, Trinity College, Dublin, Ireland. &lt;br /&gt;
&lt;br /&gt;
The conference consists of an intensive day of talks/presentations and discussion with 2 different tracks focusing on the causes and trends in web application insecurity. &lt;br /&gt;
&lt;br /&gt;
'''[http://www.owasp.org/index.php/OWASP_IRELAND_2010#Training Training]: (16th September 2010)'''&amp;lt;br&amp;gt;'''''Secure Application Development: Writing secure code (and testing it)''''' training is to be delivered on the 16 September, following the very successful model delivered in 2009 (see more details below) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more details please contact: Eoin.Keary 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
== Conference Location  ==&lt;br /&gt;
&lt;br /&gt;
[[Image:AppSecIreland09 Dublin.JPG|www.tcd.ie]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Event Sponsorship  ==&lt;br /&gt;
&lt;br /&gt;
OWASP is providing sponsors exclusive access to its audience in Dublin, Ireland through a limited number of Expo floor slots, providing a focused setting for potential customers. The conference is expected to draw 150 - 200 technologists who will be looking for ways to spend their remaining 2010 budget and planning for 2010/11. Financial Services, Media, Pharmaceuticals, Government, Healthcare, Technology, and many other verticals will be represented. &amp;lt;br&amp;gt;Sponsorship details are available here:&amp;amp;nbsp; Please review or sponsorship proposal:&amp;amp;nbsp;[http://www.owasp.org/images/c/c8/OWASP_sponsorship_Master.pdf Click_here] &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
=== Sponsors  ===&lt;br /&gt;
&lt;br /&gt;
'''Silver Sponsors''' &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Image:Cenzic small 2.GIF]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''CENZIC''' - Cenzic provides software and SaaS solutions for dynamic, black box testing of Web applications to protect Websites against hacker attacks.Built from the ground up on a completely different technology backbone than its competitors, Cenzic goes beyond signature-based tools to find more &amp;quot;real&amp;quot; vulnerabilities. To request a free demo please visit http://www.cenzic.com &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&amp;lt;center&amp;gt;[[Image:Veracode logo 2color small.JPG]]&amp;lt;/center&amp;gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''Veracode''' is the world’s leader in cloud-based application risk management. With patented binary code analysis, dynamic Web assessments, and partner or Veracode-delivered manual penetration testing, combined with developer e-learning and access to open source security ratings, Veracode SecurityReview® allows customers to independently verify application security in both internally developed applications and third-party software without requiring source code or expensive tools. Veracode provides the most simple, complete and accurate way to implement security best practices, reduce operational cost and comply with internal security policies or external standards such as OWASP Top 10, CWE/SANS Top 25 and PCI. Veracode works with global organizations across multiple vertical industries including Barclays PLC, California Public Employees’ Retirement System (CalPERS), Computershare, and the Federal Aviation Administration (FAA). For more information, visit www.veracode.com http://www.veracode.com/ &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:FORTIFY_LOGO_MED.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
'''Fortify® Software''' is the leader in the emerging category of Software Security Assurance (SSA). Fortify's SSA products and services protect companies from the threats posed by security flaws in business-critical software applications and result in applications that are inherently more secure and impervious to attack. Our solutions help identify and resolve critical application vulnerabilities in less time and at lower cost. http://www.fortify.com&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Supported by  ===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Image:Irisss small.jpg]] [[Image:IISF.jpg]] [[Image:Iia-logo-small.jpg]][[Image:DG horiz col.gif]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
== Agenda and Presentations - September 17  ==&lt;br /&gt;
&lt;br /&gt;
The agenda follows the successful OWASP conference two tracks format, with opening keynotes and presentations in the main auditorium, split tracks in the middle of the day, and closing pannel discussions back in the main auditorium both days. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot; style=&amp;quot;width: 80%&amp;quot; align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; colspan=&amp;quot;3&amp;quot; | [http://www.tcd.ie/Maps/map.php?q=hamilton+building Hamilton Building, TCD] - September 17, 2010&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; | Track 1: Synge Theatre &lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; | Track 2: Salmon Theatre&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 08:00-09:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Registration and Coffee&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 09:00 - 09:10 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | Welcome to OWASP Ireland 2010 Conference &lt;br /&gt;
'''''[[User:EoinKeary|Eoin Keary]], [http://ie.linkedin.com/in/fcerullo Fabio Cerullo] &amp;amp;amp; Rahim Jina'''&amp;amp;nbsp;&amp;lt;br&amp;gt;'''OWASP Ireland Board''''' &amp;lt;br&amp;gt;'''Location: Joly Theatre'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 09:15 - 10:15 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | '''Keynote: &amp;quot;Application Security in the Real World&amp;quot;''' - Considerations for AppSec in non-security companies. &lt;br /&gt;
'''''[[John Viega|John Viega&amp;amp;nbsp;]]&amp;amp;nbsp;'''''Executive Vice President, Perimeter E-Security &lt;br /&gt;
&lt;br /&gt;
'''Location: Joly Theatre'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 10:20 - 10:40 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
OWASP &amp;quot;State of the Nation&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[User:EoinKeary|'''Eoin Keary''']]&amp;amp;amp;&amp;amp;nbsp;[[User:Dinis Cruz|'''Dinis Cruz''']] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;sub&amp;gt;''OWASP Global board members''&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 10:45 - 11:10 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Break - Expo&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 11:10 -&amp;amp;nbsp;11:45 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Testing the Enterprise E-mail Security - from Software to Cloud-based Services&amp;quot;&amp;lt;br&amp;gt;[[User:Dr. Marian Ventuneac|'''Dr. Marian Ventuneac''']]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Counter Intelligence as Defense: Integrating predictive and proactive attack knowledge as a wall of defense&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[User:FredDonovan|'''Fred Donovan''']]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 11:50 - 12:30 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;The Evolution of Security Testing: Testing the Resiliency of Security&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[David Stubley|'''David Stubley''']] (GIAC)&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
[[Path to a Secure Application|&amp;quot;Path to a Secure Application&amp;quot;]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[User:RyanBerg|'''Ryan Berg''']] IBM&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 12:40 - 13:10 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Smart Phones with Dumb Apps&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[Dan Cornell|'''Dan Cornell''']]&amp;amp;nbsp; Principal of [http://www.denimgroup.com Denim Group], Ltd.&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Technology and Business Risk Management: How Application Security Fits In! &lt;br /&gt;
&lt;br /&gt;
[[User:Peter Perfetti|'''Peter Perfetti''']]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 13:10 - 14:10 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Lunch - [http://www.tcd.ie/Maps/map.php?q=dining+hall TCD Dining Hall], buffet Lunch&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 1410 - 15:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | '''Keynote: &amp;quot;The changing face of cryptography&amp;quot;''' &lt;br /&gt;
'''''[[User:Professor Fred Piper|Professor Fred Piper]]'''''&amp;lt;i&amp;gt;, BSc, PhD (London), ARCS, DIC, CEng, CMath, FIEE, FIMA, BCS, CISSP, CISM.&amp;lt;/i&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Location: Joly Theatre'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 15:10 - 15:50 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Microsoft's Security Development Lifecycle for Agile Development&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[Nick Coblentz|'''Nick Coblentz''']]&amp;amp;nbsp;AT&amp;amp;amp;T Consulting&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
[[The Real appsec pentest|&amp;quot;The &amp;quot;Real&amp;quot; Application Security Pentest.&amp;quot;]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Rory Alsop|'''Rory Alsop''']]&amp;amp;amp; [[Rory McCune|'''Rory McCune''']]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 16:00 - 16:40 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;How to Defend Fragile Web Applications&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[Vinay Bansal, Martin Nystrom|'''Vinay Bansal, Martin Nystrom''']] Cisco systems&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
[[Scareware Traversing the World via Ireland|&amp;quot;Scareware Traversing the World via Ireland&amp;quot;]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[User:Mark Hillick|'''Mark Hillick''']]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 16:50 - 17:50 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
'''Keynote: &amp;quot;Hackers and Hollywood: The Implications of the Popular &amp;lt;br&amp;gt;Media Representation of Computer Hacking&amp;quot;''' &lt;br /&gt;
&lt;br /&gt;
'''''[[User:Damian Gordon|Damian Gordon]]'''''&amp;lt;i&amp;gt;&amp;amp;nbsp;Phd, School of Computing&amp;amp;nbsp;Dublin Institute of Technology.&amp;lt;/i&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''''Location: Joly Theatre'''''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 17:50 - 18:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Wrap-Up&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 18:00-21:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | OWASP Social Gathering&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Training  =&lt;br /&gt;
&lt;br /&gt;
We intend to hold some application security training on the 16/09/2010 the day prior to the event.&amp;lt;br&amp;gt;This can be booked when booking a ticket to the event.&amp;lt;br&amp;gt;'''Fee: €495''' &lt;br /&gt;
&lt;br /&gt;
== '''Secure Application Development: Writing secure code (and testing it)'''&amp;lt;br&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
'''Trainers''': &lt;br /&gt;
&lt;br /&gt;
[[User:EoinKeary|'''Eoin Keary'''&amp;amp;nbsp;]] Senior Manager, Ernst &amp;amp;amp; Young, OWASP Board Member &lt;br /&gt;
&lt;br /&gt;
'''Rahim Jina''' Senior Consultant, Ernst &amp;amp;amp;&amp;amp;nbsp;Young, OWASP Ireland chapter board. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&amp;lt;br&amp;gt;Writing Secure code is the most effective method to securing your web applications. Writing secure code takes skill and know-how but results in a more stable and robust application and assists in protecting an organisations brand. &lt;br /&gt;
&lt;br /&gt;
Application security is not commonly a part of many computer science curricula today and most organizations have not focused on instituting a culture that includes application security as a core part of their software development training efforts. This intensive one-day course focuses on the most common web application security problems, including aspects of both the OWASP Top Ten (2010) and the MITRE Top 25.&amp;amp;nbsp; The course will introduce and demonstrate application assessment techniques, illustrating how application vulnerabilities can be exploited so students really understand how to avoid introducing such vulnerabilities in their code. &lt;br /&gt;
&lt;br /&gt;
This course includes coverage of the following areas: &lt;br /&gt;
&lt;br /&gt;
*Unvalidated Input &lt;br /&gt;
*Injection Flaws&amp;lt;br&amp;gt;&lt;br /&gt;
*Cross-Site Scriping &lt;br /&gt;
*CSRF &lt;br /&gt;
*Authentication &amp;amp;amp;&amp;amp;nbsp;Session Management &lt;br /&gt;
*Access control &amp;amp;amp; Authorisation &lt;br /&gt;
*Broken Caching &lt;br /&gt;
*Error Handling &lt;br /&gt;
*Cryptography &lt;br /&gt;
*Resource Management &lt;br /&gt;
*Rich Internet Applications &amp;amp;amp;&amp;amp;nbsp;Webservices &lt;br /&gt;
*The Secure SDLC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;'''Hands on''' &lt;br /&gt;
&lt;br /&gt;
To cement the principles discussed, students can participate in a number of hands-on security testing exercises where they attack a live web application (i.e., WebGoat etc) that has been seeded with common web application vulnerabilities. The students will use proxy tools commonly used by the hacker community to complete the exercises. Students need to bring their own windows based laptop to participate in the exercises. &lt;br /&gt;
&lt;br /&gt;
'''Audience''' &lt;br /&gt;
&lt;br /&gt;
Developers who want to understand the most common web application security flaws, and how to avoid them and code in a secure manner &lt;br /&gt;
&lt;br /&gt;
'''Level''' &lt;br /&gt;
&lt;br /&gt;
Intermediate &lt;br /&gt;
&lt;br /&gt;
'''Prerequisite''' &lt;br /&gt;
&lt;br /&gt;
Basic knowledge of a web programming language like Java or .NET recommended but not required. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bringing your own windows based laptop is recommended so you can participate in the hands on exercises. &lt;br /&gt;
&lt;br /&gt;
'''Duration''' &lt;br /&gt;
&lt;br /&gt;
Full day - 8 Hours&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Venue  =&lt;br /&gt;
&lt;br /&gt;
Trinity College, Dublin &amp;lt;br&amp;gt;[http://www.tcd.ie/Maps/map.php?q=hamilton+building Map of hamilton Building Location] &lt;br /&gt;
&lt;br /&gt;
[http://www.tcd.ie/Maps/map.php?q=dining+hall Dining Hall location] &lt;br /&gt;
&lt;br /&gt;
= Transportation  =&lt;br /&gt;
&lt;br /&gt;
=== By Air  ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Fly to Dublin Airport: http://www.dublinairport.com/ &amp;lt;br&amp;gt;A taxi or bus can take you into Dublin city. (€30 - Taxi) (€10 - Bus)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Public Transport  ===&lt;br /&gt;
&lt;br /&gt;
= Accommodation  =&lt;br /&gt;
&lt;br /&gt;
Please see here if you wish to stay within the grounds of Trinity College:&amp;lt;br&amp;gt;http://www.owasp.org/images/2/20/TCD_Tariff_2009.pdf &lt;br /&gt;
&lt;br /&gt;
'''Hotels Surrounding Trinity College:''' &lt;br /&gt;
&lt;br /&gt;
http://maps.google.com/maps?near=Dame+Street,+College+Green,+Dublin+2,+Ireland+(Trinity+College+Campus)&amp;amp;amp;geocode=Cfm6cyTmqt_IFev1LQMdLZCg_yFJu3aKhBD7GA&amp;amp;amp;q=hotels&amp;amp;amp;f=l&amp;amp;amp;dq=Trinity+College+loc:+Dublin+Ireland&amp;amp;amp;sll=53.341482,-6.258302&amp;amp;amp;sspn=0.012043,0.037637&amp;amp;amp;ie=UTF8&amp;amp;amp;ei=U6TMSZSzKpSw2QLG_-CUCA&amp;amp;amp;attrid=1036f063d3d0dafc_&amp;amp;amp;ll=53.343711,-6.254568&amp;amp;amp;spn=0.012042,0.037637&amp;amp;amp;z=15 &lt;br /&gt;
&lt;br /&gt;
= Registration  =&lt;br /&gt;
&lt;br /&gt;
'''The fee for this conference is&amp;amp;nbsp;:&amp;lt;br&amp;gt;'''''Standard''': €150 Euro &amp;lt;br&amp;gt;'''OWASP Members''': €100 Euro &lt;br /&gt;
&lt;br /&gt;
'''Training: '''€495&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;'''Membership of OWASP is not required to attend the event.'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note''': To save on processing expenses, all fees paid for the OWASP conference are non-refundable. OWASP can accommodate transfers of registrations from one person to another, if such an adjustment becomes necessary. &lt;br /&gt;
&lt;br /&gt;
'''Cvent Registration Link: [http://guest.cvent.com/i.aspx?4W%2cM3%2c679c382d-35c2-4815-a399-c2c3a95ebfd7 Click-Here]''' &lt;br /&gt;
&lt;br /&gt;
= Conference Committee  =&lt;br /&gt;
&lt;br /&gt;
'''2010 Ireland Planning Committee Chair''': &lt;br /&gt;
&lt;br /&gt;
Eoin Keary -&amp;amp;nbsp;eoin.keary 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fabio Cerullo&amp;amp;nbsp; - fcerullo 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
Rahim Jina - rahim.jina 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
= Call for Papers  =&lt;br /&gt;
&lt;br /&gt;
The Conference will consist of two tracks covering both technical and risk management topics. &lt;br /&gt;
&lt;br /&gt;
'''We are seeking presentations on any of the following topics:''' &lt;br /&gt;
&lt;br /&gt;
*Web Services and Application Security &lt;br /&gt;
*Common Application related Threats and Risks &lt;br /&gt;
*Business Risks with Application Security &lt;br /&gt;
*Vulnerability Research in Application Security &lt;br /&gt;
*Web Application Penetration Testing &lt;br /&gt;
*OWASP Tools and Projects &lt;br /&gt;
*Secure Coding/Development Practices &lt;br /&gt;
*Technology specific presentations on security such as AJAX, XML, etc. &lt;br /&gt;
*Anything else relating to OWASP and Application Security.&lt;br /&gt;
&lt;br /&gt;
The call for papers/presentations is out. The official closing date for receiving a synopsis of the presentation is June 10th, 2010. Announcements on selected candidates will be provided the first week of July 2010. Complete presentations will need to be submitted by the 2nd of August 2010. &lt;br /&gt;
&lt;br /&gt;
All presenters will receive free invitation to the conference, food and refreshments. &lt;br /&gt;
&lt;br /&gt;
'''For some speakers, OWASP will cover some of the travel costs associated with coming to the conference.''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Please submit your presentation topics and an abstract of up to 500 words to Eoin Keary''' &amp;amp;lt;mailto: Eoin.keary@owasp.org&amp;amp;gt;&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=User:Mark_Hillick&amp;diff=86759</id>
		<title>User:Mark Hillick</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=User:Mark_Hillick&amp;diff=86759"/>
				<updated>2010-07-21T13:02:44Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: Created page with 'Mark is a founding member of IRISS-CERT (www.iriss.ie).  Mark has been a volunteer Incident Handler with IRISS-CERT since its foundation in 2008.  He has been a member of the Owa…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mark is a founding member of IRISS-CERT (www.iriss.ie).  Mark has been a volunteer Incident Handler with IRISS-CERT since its foundation in 2008.&lt;br /&gt;
&lt;br /&gt;
He has been a member of the Owasp Ireland chapter for the last two years and has presented on both setting up a CSIRT and on implementing WAF solutions.&lt;br /&gt;
&lt;br /&gt;
Mark currently works with the Application &amp;amp; Networking Team for Citrix Systems, where he concentrates on supporting and advising Citrix’s biggest blue-chip customers across many industries.He has previously worked for 10 years with Allied Irish Banks as the lead for the Internet Infrastructure team and configured far too many firewalls!&lt;br /&gt;
&lt;br /&gt;
From reading Mathematics at university, to collecting GIAC certifications, he's spent far too many hours studying and would prefer to be doing some form of water-sport :) Mark is currently preparing for the GIAC GSE with SANS.&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Scareware_Traversing_the_World_via_a_Web_App_Exploit&amp;diff=86758</id>
		<title>Scareware Traversing the World via a Web App Exploit</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Scareware_Traversing_the_World_via_a_Web_App_Exploit&amp;diff=86758"/>
				<updated>2010-07-21T13:02:26Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: Created page with 'In 2008, a dedicated group of security professionals came together to set up IRISS-CERT, Ireland's first CSIRT, to provide a range of free services to Irish businesses and consum…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In 2008, a dedicated group of security professionals came together to set up IRISS-CERT, Ireland's first CSIRT, to provide a range of free services to Irish businesses and consumers in relation to information security issues. The aim is to help counter the security threats posed to both the Irish businesses and the Irish Internet space.&lt;br /&gt;
&lt;br /&gt;
Throughout the first two years, IRISS-CERT has notified and helped many website owners detect, clean or restore their sites after a compromise.&lt;br /&gt;
&lt;br /&gt;
In July 2009, several Irish websites were attacked and had malware code injected into them. These (compromised) websites redirected end-users to malicious websites, which subsequently served malware to anyone who was browsing the original legitimate sites. The notification of this compromise (to IRISS CERT) resulted in me beginning the on-duty Incident Handler, initiating the Incident Handling Process to examine the issue.&lt;br /&gt;
&lt;br /&gt;
Mark will summarise this aforementioned attack and briefly include other types of attacks that IRISS-CERT have seen. He will primarily focus on the process as laid out in his GIAC GCIH Gold Paper. The investigation into the July 2009 attack and the associated complex infrastructure prompted the research paper. &lt;br /&gt;
&lt;br /&gt;
The talk will cover the various stages of the Incident Handling Process explaining how they pertain to both the web application exploit and the associated scareware installation.&lt;br /&gt;
&lt;br /&gt;
By discussing these attacks, the talk should enable both companies and volunteer organisations to improve Incident Handling efforts when responding to Web Application attacks.&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_IRELAND_2010&amp;diff=86757</id>
		<title>OWASP IRELAND 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_IRELAND_2010&amp;diff=86757"/>
				<updated>2010-07-21T13:01:47Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Dublin2010.gif]]&amp;amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welcome to the Irish OWASP Application Security Conference!&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its Ireland's turn again&amp;amp;nbsp;on '''September 17, 2010''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''September 17th 2010''': OWASP will hold its second Irish Application Security conference in&amp;amp;nbsp;Dublin University, Trinity College, Dublin, Ireland. &lt;br /&gt;
&lt;br /&gt;
The conference consists of an intensive day of talks/presentations and discussion with 2 different tracks focusing on the causes and trends in web application insecurity. &lt;br /&gt;
&lt;br /&gt;
'''[http://www.owasp.org/index.php/OWASP_IRELAND_2010#Training Training]: (16th September 2010)'''&amp;lt;br&amp;gt;'''''Secure Application Development: Writing secure code (and testing it)''''' training is to be delivered on the 16 September, following the very successful model delivered in 2009 (see more details below) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more details please contact: Eoin.Keary 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
== Conference Location  ==&lt;br /&gt;
&lt;br /&gt;
[[Image:AppSecIreland09 Dublin.JPG|www.tcd.ie]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Event Sponsorship  ==&lt;br /&gt;
&lt;br /&gt;
OWASP is providing sponsors exclusive access to its audience in Dublin, Ireland through a limited number of Expo floor slots, providing a focused setting for potential customers. The conference is expected to draw 150 - 200 technologists who will be looking for ways to spend their remaining 2010 budget and planning for 2010/11. Financial Services, Media, Pharmaceuticals, Government, Healthcare, Technology, and many other verticals will be represented. &amp;lt;br&amp;gt;Sponsorship details are available here:&amp;amp;nbsp; Please review or sponsorship proposal:&amp;amp;nbsp;[http://www.owasp.org/images/c/c8/OWASP_sponsorship_Master.pdf Click_here] &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
=== Sponsors  ===&lt;br /&gt;
&lt;br /&gt;
'''Silver Sponsors''' &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Image:Cenzic small 2.GIF]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''CENZIC''' - Cenzic provides software and SaaS solutions for dynamic, black box testing of Web applications to protect Websites against hacker attacks.Built from the ground up on a completely different technology backbone than its competitors, Cenzic goes beyond signature-based tools to find more &amp;quot;real&amp;quot; vulnerabilities. To request a free demo please visit http://www.cenzic.com &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&amp;lt;center&amp;gt;[[Image:Veracode logo 2color small.JPG]]&amp;lt;/center&amp;gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''Veracode''' is the world’s leader in cloud-based application risk management. With patented binary code analysis, dynamic Web assessments, and partner or Veracode-delivered manual penetration testing, combined with developer e-learning and access to open source security ratings, Veracode SecurityReview® allows customers to independently verify application security in both internally developed applications and third-party software without requiring source code or expensive tools. Veracode provides the most simple, complete and accurate way to implement security best practices, reduce operational cost and comply with internal security policies or external standards such as OWASP Top 10, CWE/SANS Top 25 and PCI. Veracode works with global organizations across multiple vertical industries including Barclays PLC, California Public Employees’ Retirement System (CalPERS), Computershare, and the Federal Aviation Administration (FAA). For more information, visit www.veracode.com http://www.veracode.com/ &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:FORTIFY_LOGO_MED.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
'''Fortify® Software''' is the leader in the emerging category of Software Security Assurance (SSA). Fortify's SSA products and services protect companies from the threats posed by security flaws in business-critical software applications and result in applications that are inherently more secure and impervious to attack. Our solutions help identify and resolve critical application vulnerabilities in less time and at lower cost. http://www.fortify.com&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Supported by  ===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Image:Irisss small.jpg]] [[Image:IISF.jpg]] [[Image:Iia-logo-small.jpg]][[Image:DG horiz col.gif]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
== Agenda and Presentations - September 17  ==&lt;br /&gt;
&lt;br /&gt;
The agenda follows the successful OWASP conference two tracks format, with opening keynotes and presentations in the main auditorium, split tracks in the middle of the day, and closing pannel discussions back in the main auditorium both days. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot; style=&amp;quot;width: 80%&amp;quot; align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; colspan=&amp;quot;3&amp;quot; | [http://www.tcd.ie/Maps/map.php?q=hamilton+building Hamilton Building, TCD] - September 17, 2010&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; | Track 1: Synge Theatre &lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; | Track 2: Salmon Theatre&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 08:00-09:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Registration and Coffee&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 09:00 - 09:10 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | Welcome to OWASP Ireland 2010 Conference &lt;br /&gt;
'''''[[User:EoinKeary|Eoin Keary]], [http://ie.linkedin.com/in/fcerullo Fabio Cerullo] &amp;amp;amp; Rahim Jina'''&amp;amp;nbsp;&amp;lt;br&amp;gt;'''OWASP Ireland Board''''' &amp;lt;br&amp;gt;'''Location: Joly Theatre'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 09:15 - 10:15 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | '''Keynote: &amp;quot;Application Security in the Real World&amp;quot;''' - Considerations for AppSec in non-security companies. &lt;br /&gt;
'''''[[John Viega|John Viega&amp;amp;nbsp;]]&amp;amp;nbsp;'''''Executive Vice President, Perimeter E-Security &lt;br /&gt;
&lt;br /&gt;
'''Location: Joly Theatre'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 10:20 - 10:40 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
OWASP &amp;quot;State of the Nation&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[User:EoinKeary|'''Eoin Keary''']]&amp;amp;amp;&amp;amp;nbsp;[[User:Dinis Cruz|'''Dinis Cruz''']] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;sub&amp;gt;''OWASP Global board members''&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 10:45 - 11:10 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Break - Expo&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 11:10 -&amp;amp;nbsp;11:45 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Testing the Enterprise E-mail Security - from Software to Cloud-based Services&amp;quot;&amp;lt;br&amp;gt;[[User:Dr. Marian Ventuneac|'''Dr. Marian Ventuneac''']]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Counter Intelligence as Defense: Integrating predictive and proactive attack knowledge as a wall of defense&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[User:FredDonovan|'''Fred Donovan''']]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 11:50 - 12:30 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;The Evolution of Security Testing: Testing the Resiliency of Security&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[David Stubley|'''David Stubley''']] (GIAC)&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
[[Path to a Secure Application|&amp;quot;Path to a Secure Application&amp;quot;]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[User:RyanBerg|'''Ryan Berg''']] IBM&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 12:40 - 13:10 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Smart Phones with Dumb Apps&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[Dan Cornell|'''Dan Cornell''']]&amp;amp;nbsp; Principal of [http://www.denimgroup.com Denim Group], Ltd.&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Technology and Business Risk Management: How Application Security Fits In! &lt;br /&gt;
&lt;br /&gt;
[[User:Peter Perfetti|'''Peter Perfetti''']]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 13:10 - 14:10 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Lunch - [http://www.tcd.ie/Maps/map.php?q=dining+hall TCD Dining Hall], buffet Lunch&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 1410 - 15:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | '''Keynote: &amp;quot;The changing face of cryptography&amp;quot;''' &lt;br /&gt;
'''''[[User:Professor Fred Piper|Professor Fred Piper]]'''''&amp;lt;i&amp;gt;, BSc, PhD (London), ARCS, DIC, CEng, CMath, FIEE, FIMA, BCS, CISSP, CISM.&amp;lt;/i&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Location: Joly Theatre'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 15:10 - 15:50 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Microsoft's Security Development Lifecycle for Agile Development&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[Nick Coblentz|'''Nick Coblentz''']]&amp;amp;nbsp;AT&amp;amp;amp;T Consulting&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
[[The Real appsec pentest|&amp;quot;The &amp;quot;Real&amp;quot; Application Security Pentest.&amp;quot;]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Rory Alsop|'''Rory Alsop''']]&amp;amp;amp; [[Rory McCune|'''Rory McCune''']]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 16:00 - 16:40 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;How to Defend Fragile Web Applications&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[Vinay Bansal, Martin Nystrom|'''Vinay Bansal, Martin Nystrom''']] Cisco systems&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
[[Scareware Traversing the World via a Web App Exploit|&amp;quot;Scareware Traversing the World via a Web App Exploit&amp;quot;]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[User:Mark Hillick|'''Mark Hillick''']]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 16:50 - 17:50 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
'''Keynote: &amp;quot;Hackers and Hollywood: The Implications of the Popular &amp;lt;br&amp;gt;Media Representation of Computer Hacking&amp;quot;''' &lt;br /&gt;
&lt;br /&gt;
'''''[[User:Damian Gordon|Damian Gordon]]'''''&amp;lt;i&amp;gt;&amp;amp;nbsp;Phd, School of Computing&amp;amp;nbsp;Dublin Institute of Technology.&amp;lt;/i&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''''Location: Joly Theatre'''''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 17:50 - 18:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Wrap-Up&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 18:00-21:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | OWASP Social Gathering&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Training  =&lt;br /&gt;
&lt;br /&gt;
We intend to hold some application security training on the 16/09/2010 the day prior to the event.&amp;lt;br&amp;gt;This can be booked when booking a ticket to the event.&amp;lt;br&amp;gt;'''Fee: €495''' &lt;br /&gt;
&lt;br /&gt;
== '''Secure Application Development: Writing secure code (and testing it)'''&amp;lt;br&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
'''Trainers''': &lt;br /&gt;
&lt;br /&gt;
[[User:EoinKeary|'''Eoin Keary'''&amp;amp;nbsp;]] Senior Manager, Ernst &amp;amp;amp; Young, OWASP Board Member &lt;br /&gt;
&lt;br /&gt;
'''Rahim Jina''' Senior Consultant, Ernst &amp;amp;amp;&amp;amp;nbsp;Young, OWASP Ireland chapter board. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&amp;lt;br&amp;gt;Writing Secure code is the most effective method to securing your web applications. Writing secure code takes skill and know-how but results in a more stable and robust application and assists in protecting an organisations brand. &lt;br /&gt;
&lt;br /&gt;
Application security is not commonly a part of many computer science curricula today and most organizations have not focused on instituting a culture that includes application security as a core part of their software development training efforts. This intensive one-day course focuses on the most common web application security problems, including aspects of both the OWASP Top Ten (2010) and the MITRE Top 25.&amp;amp;nbsp; The course will introduce and demonstrate application assessment techniques, illustrating how application vulnerabilities can be exploited so students really understand how to avoid introducing such vulnerabilities in their code. &lt;br /&gt;
&lt;br /&gt;
This course includes coverage of the following areas: &lt;br /&gt;
&lt;br /&gt;
*Unvalidated Input &lt;br /&gt;
*Injection Flaws&amp;lt;br&amp;gt;&lt;br /&gt;
*Cross-Site Scriping &lt;br /&gt;
*CSRF &lt;br /&gt;
*Authentication &amp;amp;amp;&amp;amp;nbsp;Session Management &lt;br /&gt;
*Access control &amp;amp;amp; Authorisation &lt;br /&gt;
*Broken Caching &lt;br /&gt;
*Error Handling &lt;br /&gt;
*Cryptography &lt;br /&gt;
*Resource Management &lt;br /&gt;
*Rich Internet Applications &amp;amp;amp;&amp;amp;nbsp;Webservices &lt;br /&gt;
*The Secure SDLC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;'''Hands on''' &lt;br /&gt;
&lt;br /&gt;
To cement the principles discussed, students can participate in a number of hands-on security testing exercises where they attack a live web application (i.e., WebGoat etc) that has been seeded with common web application vulnerabilities. The students will use proxy tools commonly used by the hacker community to complete the exercises. Students need to bring their own windows based laptop to participate in the exercises. &lt;br /&gt;
&lt;br /&gt;
'''Audience''' &lt;br /&gt;
&lt;br /&gt;
Developers who want to understand the most common web application security flaws, and how to avoid them and code in a secure manner &lt;br /&gt;
&lt;br /&gt;
'''Level''' &lt;br /&gt;
&lt;br /&gt;
Intermediate &lt;br /&gt;
&lt;br /&gt;
'''Prerequisite''' &lt;br /&gt;
&lt;br /&gt;
Basic knowledge of a web programming language like Java or .NET recommended but not required. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bringing your own windows based laptop is recommended so you can participate in the hands on exercises. &lt;br /&gt;
&lt;br /&gt;
'''Duration''' &lt;br /&gt;
&lt;br /&gt;
Full day - 8 Hours&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Venue  =&lt;br /&gt;
&lt;br /&gt;
Trinity College, Dublin &amp;lt;br&amp;gt;[http://www.tcd.ie/Maps/map.php?q=hamilton+building Map of hamilton Building Location] &lt;br /&gt;
&lt;br /&gt;
[http://www.tcd.ie/Maps/map.php?q=dining+hall Dining Hall location] &lt;br /&gt;
&lt;br /&gt;
= Transportation  =&lt;br /&gt;
&lt;br /&gt;
=== By Air  ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Fly to Dublin Airport: http://www.dublinairport.com/ &amp;lt;br&amp;gt;A taxi or bus can take you into Dublin city. (€30 - Taxi) (€10 - Bus)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Public Transport  ===&lt;br /&gt;
&lt;br /&gt;
= Accommodation  =&lt;br /&gt;
&lt;br /&gt;
Please see here if you wish to stay within the grounds of Trinity College:&amp;lt;br&amp;gt;http://www.owasp.org/images/2/20/TCD_Tariff_2009.pdf &lt;br /&gt;
&lt;br /&gt;
'''Hotels Surrounding Trinity College:''' &lt;br /&gt;
&lt;br /&gt;
http://maps.google.com/maps?near=Dame+Street,+College+Green,+Dublin+2,+Ireland+(Trinity+College+Campus)&amp;amp;amp;geocode=Cfm6cyTmqt_IFev1LQMdLZCg_yFJu3aKhBD7GA&amp;amp;amp;q=hotels&amp;amp;amp;f=l&amp;amp;amp;dq=Trinity+College+loc:+Dublin+Ireland&amp;amp;amp;sll=53.341482,-6.258302&amp;amp;amp;sspn=0.012043,0.037637&amp;amp;amp;ie=UTF8&amp;amp;amp;ei=U6TMSZSzKpSw2QLG_-CUCA&amp;amp;amp;attrid=1036f063d3d0dafc_&amp;amp;amp;ll=53.343711,-6.254568&amp;amp;amp;spn=0.012042,0.037637&amp;amp;amp;z=15 &lt;br /&gt;
&lt;br /&gt;
= Registration  =&lt;br /&gt;
&lt;br /&gt;
'''The fee for this conference is&amp;amp;nbsp;:&amp;lt;br&amp;gt;'''''Standard''': €150 Euro &amp;lt;br&amp;gt;'''OWASP Members''': €100 Euro &lt;br /&gt;
&lt;br /&gt;
'''Training: '''€495&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;'''Membership of OWASP is not required to attend the event.'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note''': To save on processing expenses, all fees paid for the OWASP conference are non-refundable. OWASP can accommodate transfers of registrations from one person to another, if such an adjustment becomes necessary. &lt;br /&gt;
&lt;br /&gt;
'''Cvent Registration Link: [http://guest.cvent.com/i.aspx?4W%2cM3%2c679c382d-35c2-4815-a399-c2c3a95ebfd7 Click-Here]''' &lt;br /&gt;
&lt;br /&gt;
= Conference Committee  =&lt;br /&gt;
&lt;br /&gt;
'''2010 Ireland Planning Committee Chair''': &lt;br /&gt;
&lt;br /&gt;
Eoin Keary -&amp;amp;nbsp;eoin.keary 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fabio Cerullo&amp;amp;nbsp; - fcerullo 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
Rahim Jina - rahim.jina 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
= Call for Papers  =&lt;br /&gt;
&lt;br /&gt;
The Conference will consist of two tracks covering both technical and risk management topics. &lt;br /&gt;
&lt;br /&gt;
'''We are seeking presentations on any of the following topics:''' &lt;br /&gt;
&lt;br /&gt;
*Web Services and Application Security &lt;br /&gt;
*Common Application related Threats and Risks &lt;br /&gt;
*Business Risks with Application Security &lt;br /&gt;
*Vulnerability Research in Application Security &lt;br /&gt;
*Web Application Penetration Testing &lt;br /&gt;
*OWASP Tools and Projects &lt;br /&gt;
*Secure Coding/Development Practices &lt;br /&gt;
*Technology specific presentations on security such as AJAX, XML, etc. &lt;br /&gt;
*Anything else relating to OWASP and Application Security.&lt;br /&gt;
&lt;br /&gt;
The call for papers/presentations is out. The official closing date for receiving a synopsis of the presentation is June 10th, 2010. Announcements on selected candidates will be provided the first week of July 2010. Complete presentations will need to be submitted by the 2nd of August 2010. &lt;br /&gt;
&lt;br /&gt;
All presenters will receive free invitation to the conference, food and refreshments. &lt;br /&gt;
&lt;br /&gt;
'''For some speakers, OWASP will cover some of the travel costs associated with coming to the conference.''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Please submit your presentation topics and an abstract of up to 500 words to Eoin Keary''' &amp;amp;lt;mailto: Eoin.keary@owasp.org&amp;amp;gt;&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_IRELAND_2010&amp;diff=86756</id>
		<title>OWASP IRELAND 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_IRELAND_2010&amp;diff=86756"/>
				<updated>2010-07-21T13:00:47Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Dublin2010.gif]]&amp;amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welcome to the Irish OWASP Application Security Conference!&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its Ireland's turn again&amp;amp;nbsp;on '''September 17, 2010''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''September 17th 2010''': OWASP will hold its second Irish Application Security conference in&amp;amp;nbsp;Dublin University, Trinity College, Dublin, Ireland. &lt;br /&gt;
&lt;br /&gt;
The conference consists of an intensive day of talks/presentations and discussion with 2 different tracks focusing on the causes and trends in web application insecurity. &lt;br /&gt;
&lt;br /&gt;
'''[http://www.owasp.org/index.php/OWASP_IRELAND_2010#Training Training]: (16th September 2010)'''&amp;lt;br&amp;gt;'''''Secure Application Development: Writing secure code (and testing it)''''' training is to be delivered on the 16 September, following the very successful model delivered in 2009 (see more details below) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more details please contact: Eoin.Keary 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
== Conference Location  ==&lt;br /&gt;
&lt;br /&gt;
[[Image:AppSecIreland09 Dublin.JPG|www.tcd.ie]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Event Sponsorship  ==&lt;br /&gt;
&lt;br /&gt;
OWASP is providing sponsors exclusive access to its audience in Dublin, Ireland through a limited number of Expo floor slots, providing a focused setting for potential customers. The conference is expected to draw 150 - 200 technologists who will be looking for ways to spend their remaining 2010 budget and planning for 2010/11. Financial Services, Media, Pharmaceuticals, Government, Healthcare, Technology, and many other verticals will be represented. &amp;lt;br&amp;gt;Sponsorship details are available here:&amp;amp;nbsp; Please review or sponsorship proposal:&amp;amp;nbsp;[http://www.owasp.org/images/c/c8/OWASP_sponsorship_Master.pdf Click_here] &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
=== Sponsors  ===&lt;br /&gt;
&lt;br /&gt;
'''Silver Sponsors''' &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Image:Cenzic small 2.GIF]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''CENZIC''' - Cenzic provides software and SaaS solutions for dynamic, black box testing of Web applications to protect Websites against hacker attacks.Built from the ground up on a completely different technology backbone than its competitors, Cenzic goes beyond signature-based tools to find more &amp;quot;real&amp;quot; vulnerabilities. To request a free demo please visit http://www.cenzic.com &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&amp;lt;center&amp;gt;[[Image:Veracode logo 2color small.JPG]]&amp;lt;/center&amp;gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''Veracode''' is the world’s leader in cloud-based application risk management. With patented binary code analysis, dynamic Web assessments, and partner or Veracode-delivered manual penetration testing, combined with developer e-learning and access to open source security ratings, Veracode SecurityReview® allows customers to independently verify application security in both internally developed applications and third-party software without requiring source code or expensive tools. Veracode provides the most simple, complete and accurate way to implement security best practices, reduce operational cost and comply with internal security policies or external standards such as OWASP Top 10, CWE/SANS Top 25 and PCI. Veracode works with global organizations across multiple vertical industries including Barclays PLC, California Public Employees’ Retirement System (CalPERS), Computershare, and the Federal Aviation Administration (FAA). For more information, visit www.veracode.com http://www.veracode.com/ &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:FORTIFY_LOGO_MED.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
'''Fortify® Software''' is the leader in the emerging category of Software Security Assurance (SSA). Fortify's SSA products and services protect companies from the threats posed by security flaws in business-critical software applications and result in applications that are inherently more secure and impervious to attack. Our solutions help identify and resolve critical application vulnerabilities in less time and at lower cost. http://www.fortify.com&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Supported by  ===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Image:Irisss small.jpg]] [[Image:IISF.jpg]] [[Image:Iia-logo-small.jpg]][[Image:DG horiz col.gif]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
== Agenda and Presentations - September 17  ==&lt;br /&gt;
&lt;br /&gt;
The agenda follows the successful OWASP conference two tracks format, with opening keynotes and presentations in the main auditorium, split tracks in the middle of the day, and closing pannel discussions back in the main auditorium both days. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot; style=&amp;quot;width: 80%&amp;quot; align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; colspan=&amp;quot;3&amp;quot; | [http://www.tcd.ie/Maps/map.php?q=hamilton+building Hamilton Building, TCD] - September 17, 2010&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; | Track 1: Synge Theatre &lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; | Track 2: Salmon Theatre&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 08:00-09:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Registration and Coffee&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 09:00 - 09:10 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | Welcome to OWASP Ireland 2010 Conference &lt;br /&gt;
'''''[[User:EoinKeary|Eoin Keary]], [http://ie.linkedin.com/in/fcerullo Fabio Cerullo] &amp;amp;amp; Rahim Jina'''&amp;amp;nbsp;&amp;lt;br&amp;gt;'''OWASP Ireland Board''''' &amp;lt;br&amp;gt;'''Location: Joly Theatre'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 09:15 - 10:15 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | '''Keynote: &amp;quot;Application Security in the Real World&amp;quot;''' - Considerations for AppSec in non-security companies. &lt;br /&gt;
'''''[[John Viega|John Viega&amp;amp;nbsp;]]&amp;amp;nbsp;'''''Executive Vice President, Perimeter E-Security &lt;br /&gt;
&lt;br /&gt;
'''Location: Joly Theatre'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 10:20 - 10:40 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
OWASP &amp;quot;State of the Nation&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[User:EoinKeary|'''Eoin Keary''']]&amp;amp;amp;&amp;amp;nbsp;[[User:Dinis Cruz|'''Dinis Cruz''']] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;sub&amp;gt;''OWASP Global board members''&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 10:45 - 11:10 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Break - Expo&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 11:10 -&amp;amp;nbsp;11:45 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Testing the Enterprise E-mail Security - from Software to Cloud-based Services&amp;quot;&amp;lt;br&amp;gt;[[User:Dr. Marian Ventuneac|'''Dr. Marian Ventuneac''']]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Counter Intelligence as Defense: Integrating predictive and proactive attack knowledge as a wall of defense&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[User:FredDonovan|'''Fred Donovan''']]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 11:50 - 12:30 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;The Evolution of Security Testing: Testing the Resiliency of Security&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[David Stubley|'''David Stubley''']] (GIAC)&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
[[Path to a Secure Application|&amp;quot;Path to a Secure Application&amp;quot;]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[User:RyanBerg|'''Ryan Berg''']] IBM&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 12:40 - 13:10 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Smart Phones with Dumb Apps&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[Dan Cornell|'''Dan Cornell''']]&amp;amp;nbsp; Principal of [http://www.denimgroup.com Denim Group], Ltd.&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Technology and Business Risk Management: How Application Security Fits In! &lt;br /&gt;
&lt;br /&gt;
[[User:Peter Perfetti|'''Peter Perfetti''']]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 13:10 - 14:10 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Lunch - [http://www.tcd.ie/Maps/map.php?q=dining+hall TCD Dining Hall], buffet Lunch&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 1410 - 15:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | '''Keynote: &amp;quot;The changing face of cryptography&amp;quot;''' &lt;br /&gt;
'''''[[User:Professor Fred Piper|Professor Fred Piper]]'''''&amp;lt;i&amp;gt;, BSc, PhD (London), ARCS, DIC, CEng, CMath, FIEE, FIMA, BCS, CISSP, CISM.&amp;lt;/i&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Location: Joly Theatre'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 15:10 - 15:50 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Microsoft's Security Development Lifecycle for Agile Development&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[Nick Coblentz|'''Nick Coblentz''']]&amp;amp;nbsp;AT&amp;amp;amp;T Consulting&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
[[The Real appsec pentest|&amp;quot;The &amp;quot;real&amp;quot; application security pentest.&amp;quot;]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Rory Alsop|'''Rory Alsop''']]&amp;amp;amp; [[Rory McCune|'''Rory McCune''']]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 16:00 - 16:40 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;How to Defend Fragile Web Applications&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[Vinay Bansal, Martin Nystrom|'''Vinay Bansal, Martin Nystrom''']] Cisco systems&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
[[Scareware Traversing the World via a Web App Exploit|&amp;quot;Scareware Traversing the World via a Web App Exploit&amp;quot;]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[User:Mark Hillick|'''Mark Hillick''']]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 16:50 - 17:50 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
'''Keynote: &amp;quot;Hackers and Hollywood: The Implications of the Popular &amp;lt;br&amp;gt;Media Representation of Computer Hacking&amp;quot;''' &lt;br /&gt;
&lt;br /&gt;
'''''[[User:Damian Gordon|Damian Gordon]]'''''&amp;lt;i&amp;gt;&amp;amp;nbsp;Phd, School of Computing&amp;amp;nbsp;Dublin Institute of Technology.&amp;lt;/i&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''''Location: Joly Theatre'''''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 17:50 - 18:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Wrap-Up&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 18:00-21:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | OWASP Social Gathering&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Training  =&lt;br /&gt;
&lt;br /&gt;
We intend to hold some application security training on the 16/09/2010 the day prior to the event.&amp;lt;br&amp;gt;This can be booked when booking a ticket to the event.&amp;lt;br&amp;gt;'''Fee: €495''' &lt;br /&gt;
&lt;br /&gt;
== '''Secure Application Development: Writing secure code (and testing it)'''&amp;lt;br&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
'''Trainers''': &lt;br /&gt;
&lt;br /&gt;
[[User:EoinKeary|'''Eoin Keary'''&amp;amp;nbsp;]] Senior Manager, Ernst &amp;amp;amp; Young, OWASP Board Member &lt;br /&gt;
&lt;br /&gt;
'''Rahim Jina''' Senior Consultant, Ernst &amp;amp;amp;&amp;amp;nbsp;Young, OWASP Ireland chapter board. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&amp;lt;br&amp;gt;Writing Secure code is the most effective method to securing your web applications. Writing secure code takes skill and know-how but results in a more stable and robust application and assists in protecting an organisations brand. &lt;br /&gt;
&lt;br /&gt;
Application security is not commonly a part of many computer science curricula today and most organizations have not focused on instituting a culture that includes application security as a core part of their software development training efforts. This intensive one-day course focuses on the most common web application security problems, including aspects of both the OWASP Top Ten (2010) and the MITRE Top 25.&amp;amp;nbsp; The course will introduce and demonstrate application assessment techniques, illustrating how application vulnerabilities can be exploited so students really understand how to avoid introducing such vulnerabilities in their code. &lt;br /&gt;
&lt;br /&gt;
This course includes coverage of the following areas: &lt;br /&gt;
&lt;br /&gt;
*Unvalidated Input &lt;br /&gt;
*Injection Flaws&amp;lt;br&amp;gt;&lt;br /&gt;
*Cross-Site Scriping &lt;br /&gt;
*CSRF &lt;br /&gt;
*Authentication &amp;amp;amp;&amp;amp;nbsp;Session Management &lt;br /&gt;
*Access control &amp;amp;amp; Authorisation &lt;br /&gt;
*Broken Caching &lt;br /&gt;
*Error Handling &lt;br /&gt;
*Cryptography &lt;br /&gt;
*Resource Management &lt;br /&gt;
*Rich Internet Applications &amp;amp;amp;&amp;amp;nbsp;Webservices &lt;br /&gt;
*The Secure SDLC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;'''Hands on''' &lt;br /&gt;
&lt;br /&gt;
To cement the principles discussed, students can participate in a number of hands-on security testing exercises where they attack a live web application (i.e., WebGoat etc) that has been seeded with common web application vulnerabilities. The students will use proxy tools commonly used by the hacker community to complete the exercises. Students need to bring their own windows based laptop to participate in the exercises. &lt;br /&gt;
&lt;br /&gt;
'''Audience''' &lt;br /&gt;
&lt;br /&gt;
Developers who want to understand the most common web application security flaws, and how to avoid them and code in a secure manner &lt;br /&gt;
&lt;br /&gt;
'''Level''' &lt;br /&gt;
&lt;br /&gt;
Intermediate &lt;br /&gt;
&lt;br /&gt;
'''Prerequisite''' &lt;br /&gt;
&lt;br /&gt;
Basic knowledge of a web programming language like Java or .NET recommended but not required. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bringing your own windows based laptop is recommended so you can participate in the hands on exercises. &lt;br /&gt;
&lt;br /&gt;
'''Duration''' &lt;br /&gt;
&lt;br /&gt;
Full day - 8 Hours&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Venue  =&lt;br /&gt;
&lt;br /&gt;
Trinity College, Dublin &amp;lt;br&amp;gt;[http://www.tcd.ie/Maps/map.php?q=hamilton+building Map of hamilton Building Location] &lt;br /&gt;
&lt;br /&gt;
[http://www.tcd.ie/Maps/map.php?q=dining+hall Dining Hall location] &lt;br /&gt;
&lt;br /&gt;
= Transportation  =&lt;br /&gt;
&lt;br /&gt;
=== By Air  ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Fly to Dublin Airport: http://www.dublinairport.com/ &amp;lt;br&amp;gt;A taxi or bus can take you into Dublin city. (€30 - Taxi) (€10 - Bus)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Public Transport  ===&lt;br /&gt;
&lt;br /&gt;
= Accommodation  =&lt;br /&gt;
&lt;br /&gt;
Please see here if you wish to stay within the grounds of Trinity College:&amp;lt;br&amp;gt;http://www.owasp.org/images/2/20/TCD_Tariff_2009.pdf &lt;br /&gt;
&lt;br /&gt;
'''Hotels Surrounding Trinity College:''' &lt;br /&gt;
&lt;br /&gt;
http://maps.google.com/maps?near=Dame+Street,+College+Green,+Dublin+2,+Ireland+(Trinity+College+Campus)&amp;amp;amp;geocode=Cfm6cyTmqt_IFev1LQMdLZCg_yFJu3aKhBD7GA&amp;amp;amp;q=hotels&amp;amp;amp;f=l&amp;amp;amp;dq=Trinity+College+loc:+Dublin+Ireland&amp;amp;amp;sll=53.341482,-6.258302&amp;amp;amp;sspn=0.012043,0.037637&amp;amp;amp;ie=UTF8&amp;amp;amp;ei=U6TMSZSzKpSw2QLG_-CUCA&amp;amp;amp;attrid=1036f063d3d0dafc_&amp;amp;amp;ll=53.343711,-6.254568&amp;amp;amp;spn=0.012042,0.037637&amp;amp;amp;z=15 &lt;br /&gt;
&lt;br /&gt;
= Registration  =&lt;br /&gt;
&lt;br /&gt;
'''The fee for this conference is&amp;amp;nbsp;:&amp;lt;br&amp;gt;'''''Standard''': €150 Euro &amp;lt;br&amp;gt;'''OWASP Members''': €100 Euro &lt;br /&gt;
&lt;br /&gt;
'''Training: '''€495&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;'''Membership of OWASP is not required to attend the event.'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note''': To save on processing expenses, all fees paid for the OWASP conference are non-refundable. OWASP can accommodate transfers of registrations from one person to another, if such an adjustment becomes necessary. &lt;br /&gt;
&lt;br /&gt;
'''Cvent Registration Link: [http://guest.cvent.com/i.aspx?4W%2cM3%2c679c382d-35c2-4815-a399-c2c3a95ebfd7 Click-Here]''' &lt;br /&gt;
&lt;br /&gt;
= Conference Committee  =&lt;br /&gt;
&lt;br /&gt;
'''2010 Ireland Planning Committee Chair''': &lt;br /&gt;
&lt;br /&gt;
Eoin Keary -&amp;amp;nbsp;eoin.keary 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fabio Cerullo&amp;amp;nbsp; - fcerullo 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
Rahim Jina - rahim.jina 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
= Call for Papers  =&lt;br /&gt;
&lt;br /&gt;
The Conference will consist of two tracks covering both technical and risk management topics. &lt;br /&gt;
&lt;br /&gt;
'''We are seeking presentations on any of the following topics:''' &lt;br /&gt;
&lt;br /&gt;
*Web Services and Application Security &lt;br /&gt;
*Common Application related Threats and Risks &lt;br /&gt;
*Business Risks with Application Security &lt;br /&gt;
*Vulnerability Research in Application Security &lt;br /&gt;
*Web Application Penetration Testing &lt;br /&gt;
*OWASP Tools and Projects &lt;br /&gt;
*Secure Coding/Development Practices &lt;br /&gt;
*Technology specific presentations on security such as AJAX, XML, etc. &lt;br /&gt;
*Anything else relating to OWASP and Application Security.&lt;br /&gt;
&lt;br /&gt;
The call for papers/presentations is out. The official closing date for receiving a synopsis of the presentation is June 10th, 2010. Announcements on selected candidates will be provided the first week of July 2010. Complete presentations will need to be submitted by the 2nd of August 2010. &lt;br /&gt;
&lt;br /&gt;
All presenters will receive free invitation to the conference, food and refreshments. &lt;br /&gt;
&lt;br /&gt;
'''For some speakers, OWASP will cover some of the travel costs associated with coming to the conference.''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Please submit your presentation topics and an abstract of up to 500 words to Eoin Keary''' &amp;amp;lt;mailto: Eoin.keary@owasp.org&amp;amp;gt;&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Path_to_a_Secure_Application&amp;diff=86755</id>
		<title>Path to a Secure Application</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Path_to_a_Secure_Application&amp;diff=86755"/>
				<updated>2010-07-21T12:59:45Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: Created page with 'Regardless of the software development process, agile or waterfall, XP, being used, it is critical to understand how to implement security into this to eliminiate security vulner…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Regardless of the software development process, agile or waterfall, XP,&lt;br /&gt;
being used, it is critical to understand how to implement security into&lt;br /&gt;
this to eliminiate security vulnerabilities before a hacker does. The best&lt;br /&gt;
place to do this is while the application is being built and not after the&lt;br /&gt;
application has already been put into production. This presentation will&lt;br /&gt;
outline the people, process, and technologies that can and should be&lt;br /&gt;
leveraged to bring security closer to where the problem first gets&lt;br /&gt;
introduced, in development.&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_IRELAND_2010&amp;diff=86754</id>
		<title>OWASP IRELAND 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_IRELAND_2010&amp;diff=86754"/>
				<updated>2010-07-21T12:58:43Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Dublin2010.gif]]&amp;amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welcome to the Irish OWASP Application Security Conference!&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its Ireland's turn again&amp;amp;nbsp;on '''September 17, 2010''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''September 17th 2010''': OWASP will hold its second Irish Application Security conference in&amp;amp;nbsp;Dublin University, Trinity College, Dublin, Ireland. &lt;br /&gt;
&lt;br /&gt;
The conference consists of an intensive day of talks/presentations and discussion with 2 different tracks focusing on the causes and trends in web application insecurity. &lt;br /&gt;
&lt;br /&gt;
'''[http://www.owasp.org/index.php/OWASP_IRELAND_2010#Training Training]: (16th September 2010)'''&amp;lt;br&amp;gt;'''''Secure Application Development: Writing secure code (and testing it)''''' training is to be delivered on the 16 September, following the very successful model delivered in 2009 (see more details below) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more details please contact: Eoin.Keary 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
== Conference Location  ==&lt;br /&gt;
&lt;br /&gt;
[[Image:AppSecIreland09 Dublin.JPG|www.tcd.ie]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Event Sponsorship  ==&lt;br /&gt;
&lt;br /&gt;
OWASP is providing sponsors exclusive access to its audience in Dublin, Ireland through a limited number of Expo floor slots, providing a focused setting for potential customers. The conference is expected to draw 150 - 200 technologists who will be looking for ways to spend their remaining 2010 budget and planning for 2010/11. Financial Services, Media, Pharmaceuticals, Government, Healthcare, Technology, and many other verticals will be represented. &amp;lt;br&amp;gt;Sponsorship details are available here:&amp;amp;nbsp; Please review or sponsorship proposal:&amp;amp;nbsp;[http://www.owasp.org/images/c/c8/OWASP_sponsorship_Master.pdf Click_here] &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
=== Sponsors  ===&lt;br /&gt;
&lt;br /&gt;
'''Silver Sponsors''' &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Image:Cenzic small 2.GIF]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''CENZIC''' - Cenzic provides software and SaaS solutions for dynamic, black box testing of Web applications to protect Websites against hacker attacks.Built from the ground up on a completely different technology backbone than its competitors, Cenzic goes beyond signature-based tools to find more &amp;quot;real&amp;quot; vulnerabilities. To request a free demo please visit http://www.cenzic.com &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&amp;lt;center&amp;gt;[[Image:Veracode logo 2color small.JPG]]&amp;lt;/center&amp;gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''Veracode''' is the world’s leader in cloud-based application risk management. With patented binary code analysis, dynamic Web assessments, and partner or Veracode-delivered manual penetration testing, combined with developer e-learning and access to open source security ratings, Veracode SecurityReview® allows customers to independently verify application security in both internally developed applications and third-party software without requiring source code or expensive tools. Veracode provides the most simple, complete and accurate way to implement security best practices, reduce operational cost and comply with internal security policies or external standards such as OWASP Top 10, CWE/SANS Top 25 and PCI. Veracode works with global organizations across multiple vertical industries including Barclays PLC, California Public Employees’ Retirement System (CalPERS), Computershare, and the Federal Aviation Administration (FAA). For more information, visit www.veracode.com http://www.veracode.com/ &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:FORTIFY_LOGO_MED.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
'''Fortify® Software''' is the leader in the emerging category of Software Security Assurance (SSA). Fortify's SSA products and services protect companies from the threats posed by security flaws in business-critical software applications and result in applications that are inherently more secure and impervious to attack. Our solutions help identify and resolve critical application vulnerabilities in less time and at lower cost. http://www.fortify.com&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Supported by  ===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Image:Irisss small.jpg]] [[Image:IISF.jpg]] [[Image:Iia-logo-small.jpg]][[Image:DG horiz col.gif]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
== Agenda and Presentations - September 17  ==&lt;br /&gt;
&lt;br /&gt;
The agenda follows the successful OWASP conference two tracks format, with opening keynotes and presentations in the main auditorium, split tracks in the middle of the day, and closing pannel discussions back in the main auditorium both days. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot; style=&amp;quot;width: 80%&amp;quot; align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; colspan=&amp;quot;3&amp;quot; | [http://www.tcd.ie/Maps/map.php?q=hamilton+building Hamilton Building, TCD] - September 17, 2010&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; | Track 1: Synge Theatre &lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; | Track 2: Salmon Theatre&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 08:00-09:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Registration and Coffee&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 09:00 - 09:10 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | Welcome to OWASP Ireland 2010 Conference &lt;br /&gt;
'''''[[User:EoinKeary|Eoin Keary]], [http://ie.linkedin.com/in/fcerullo Fabio Cerullo] &amp;amp;amp; Rahim Jina'''&amp;amp;nbsp;&amp;lt;br&amp;gt;'''OWASP Ireland Board''''' &amp;lt;br&amp;gt;'''Location: Joly Theatre'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 09:15 - 10:15 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | '''Keynote: &amp;quot;Application Security in the Real World&amp;quot;''' - Considerations for AppSec in non-security companies. &lt;br /&gt;
'''''[[John Viega|John Viega&amp;amp;nbsp;]]&amp;amp;nbsp;'''''Executive Vice President, Perimeter E-Security &lt;br /&gt;
&lt;br /&gt;
'''Location: Joly Theatre'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 10:20 - 10:40 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
OWASP &amp;quot;State of the Nation&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[User:EoinKeary|'''Eoin Keary''']]&amp;amp;amp;&amp;amp;nbsp;[[User:Dinis Cruz|'''Dinis Cruz''']] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;sub&amp;gt;''OWASP Global board members''&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 10:45 - 11:10 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Break - Expo&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 11:10 -&amp;amp;nbsp;11:45 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Testing the Enterprise E-mail Security - from Software to Cloud-based Services&amp;quot;&amp;lt;br&amp;gt;[[User:Dr. Marian Ventuneac|'''Dr. Marian Ventuneac''']]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Counter Intelligence as Defense: Integrating predictive and proactive attack knowledge as a wall of defense&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[User:FredDonovan|'''Fred Donovan''']]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 11:50 - 12:30 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;The Evolution of Security Testing: Testing the Resiliency of Security&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[David Stubley|'''David Stubley''']] (GIAC)&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
[[Path to a Secure Application|&amp;quot;Path to a Secure Application&amp;quot;]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[User:RyanBerg|'''Ryan Berg''']] IBM&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 12:40 - 13:10 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Smart Phones with Dumb Apps&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[Dan Cornell|'''Dan Cornell''']]&amp;amp;nbsp; Principal of [http://www.denimgroup.com Denim Group], Ltd.&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Technology and Business Risk Management: How Application Security Fits In! &lt;br /&gt;
&lt;br /&gt;
[[User:Peter Perfetti|'''Peter Perfetti''']]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 13:10 - 14:10 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Lunch - [http://www.tcd.ie/Maps/map.php?q=dining+hall TCD Dining Hall], buffet Lunch&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 1410 - 15:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | '''Keynote: &amp;quot;The changing face of cryptography&amp;quot;''' &lt;br /&gt;
'''''[[User:Professor Fred Piper|Professor Fred Piper]]'''''&amp;lt;i&amp;gt;, BSc, PhD (London), ARCS, DIC, CEng, CMath, FIEE, FIMA, BCS, CISSP, CISM.&amp;lt;/i&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Location: Joly Theatre'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 15:10 - 15:50 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Microsoft's Security Development Lifecycle for Agile Development&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[Nick Coblentz|'''Nick Coblentz''']]&amp;amp;nbsp;AT&amp;amp;amp;T Consulting&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
[[The Real appsec pentest|&amp;quot;The &amp;quot;real&amp;quot; application security pentest.&amp;quot;]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Rory Alsop|'''Rory Alsop''']]&amp;amp;amp; [[Rory McCune|'''Rory McCune''']]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 16:00 - 16:40 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;How to Defend Fragile Web Applications&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[Vinay Bansal, Martin Nystrom|'''Vinay Bansal, Martin Nystrom''']] Cisco systems&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
[[Scareware Traversing the World via a Web App Exploit|&amp;quot;Scareware Traversing the World via a Web App Exploit&amp;quot;]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Mark Hillick|'''Mark Hillick''']]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 16:50 - 17:50 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
'''Keynote: &amp;quot;Hackers and Hollywood: The Implications of the Popular &amp;lt;br&amp;gt;Media Representation of Computer Hacking&amp;quot;''' &lt;br /&gt;
&lt;br /&gt;
'''''[[User:Damian Gordon|Damian Gordon]]'''''&amp;lt;i&amp;gt;&amp;amp;nbsp;Phd, School of Computing&amp;amp;nbsp;Dublin Institute of Technology.&amp;lt;/i&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''''Location: Joly Theatre'''''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 17:50 - 18:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Wrap-Up&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 18:00-21:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | OWASP Social Gathering&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Training  =&lt;br /&gt;
&lt;br /&gt;
We intend to hold some application security training on the 16/09/2010 the day prior to the event.&amp;lt;br&amp;gt;This can be booked when booking a ticket to the event.&amp;lt;br&amp;gt;'''Fee: €495''' &lt;br /&gt;
&lt;br /&gt;
== '''Secure Application Development: Writing secure code (and testing it)'''&amp;lt;br&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
'''Trainers''': &lt;br /&gt;
&lt;br /&gt;
[[User:EoinKeary|'''Eoin Keary'''&amp;amp;nbsp;]] Senior Manager, Ernst &amp;amp;amp; Young, OWASP Board Member &lt;br /&gt;
&lt;br /&gt;
'''Rahim Jina''' Senior Consultant, Ernst &amp;amp;amp;&amp;amp;nbsp;Young, OWASP Ireland chapter board. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&amp;lt;br&amp;gt;Writing Secure code is the most effective method to securing your web applications. Writing secure code takes skill and know-how but results in a more stable and robust application and assists in protecting an organisations brand. &lt;br /&gt;
&lt;br /&gt;
Application security is not commonly a part of many computer science curricula today and most organizations have not focused on instituting a culture that includes application security as a core part of their software development training efforts. This intensive one-day course focuses on the most common web application security problems, including aspects of both the OWASP Top Ten (2010) and the MITRE Top 25.&amp;amp;nbsp; The course will introduce and demonstrate application assessment techniques, illustrating how application vulnerabilities can be exploited so students really understand how to avoid introducing such vulnerabilities in their code. &lt;br /&gt;
&lt;br /&gt;
This course includes coverage of the following areas: &lt;br /&gt;
&lt;br /&gt;
*Unvalidated Input &lt;br /&gt;
*Injection Flaws&amp;lt;br&amp;gt;&lt;br /&gt;
*Cross-Site Scriping &lt;br /&gt;
*CSRF &lt;br /&gt;
*Authentication &amp;amp;amp;&amp;amp;nbsp;Session Management &lt;br /&gt;
*Access control &amp;amp;amp; Authorisation &lt;br /&gt;
*Broken Caching &lt;br /&gt;
*Error Handling &lt;br /&gt;
*Cryptography &lt;br /&gt;
*Resource Management &lt;br /&gt;
*Rich Internet Applications &amp;amp;amp;&amp;amp;nbsp;Webservices &lt;br /&gt;
*The Secure SDLC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;'''Hands on''' &lt;br /&gt;
&lt;br /&gt;
To cement the principles discussed, students can participate in a number of hands-on security testing exercises where they attack a live web application (i.e., WebGoat etc) that has been seeded with common web application vulnerabilities. The students will use proxy tools commonly used by the hacker community to complete the exercises. Students need to bring their own windows based laptop to participate in the exercises. &lt;br /&gt;
&lt;br /&gt;
'''Audience''' &lt;br /&gt;
&lt;br /&gt;
Developers who want to understand the most common web application security flaws, and how to avoid them and code in a secure manner &lt;br /&gt;
&lt;br /&gt;
'''Level''' &lt;br /&gt;
&lt;br /&gt;
Intermediate &lt;br /&gt;
&lt;br /&gt;
'''Prerequisite''' &lt;br /&gt;
&lt;br /&gt;
Basic knowledge of a web programming language like Java or .NET recommended but not required. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bringing your own windows based laptop is recommended so you can participate in the hands on exercises. &lt;br /&gt;
&lt;br /&gt;
'''Duration''' &lt;br /&gt;
&lt;br /&gt;
Full day - 8 Hours&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Venue  =&lt;br /&gt;
&lt;br /&gt;
Trinity College, Dublin &amp;lt;br&amp;gt;[http://www.tcd.ie/Maps/map.php?q=hamilton+building Map of hamilton Building Location] &lt;br /&gt;
&lt;br /&gt;
[http://www.tcd.ie/Maps/map.php?q=dining+hall Dining Hall location] &lt;br /&gt;
&lt;br /&gt;
= Transportation  =&lt;br /&gt;
&lt;br /&gt;
=== By Air  ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Fly to Dublin Airport: http://www.dublinairport.com/ &amp;lt;br&amp;gt;A taxi or bus can take you into Dublin city. (€30 - Taxi) (€10 - Bus)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Public Transport  ===&lt;br /&gt;
&lt;br /&gt;
= Accommodation  =&lt;br /&gt;
&lt;br /&gt;
Please see here if you wish to stay within the grounds of Trinity College:&amp;lt;br&amp;gt;http://www.owasp.org/images/2/20/TCD_Tariff_2009.pdf &lt;br /&gt;
&lt;br /&gt;
'''Hotels Surrounding Trinity College:''' &lt;br /&gt;
&lt;br /&gt;
http://maps.google.com/maps?near=Dame+Street,+College+Green,+Dublin+2,+Ireland+(Trinity+College+Campus)&amp;amp;amp;geocode=Cfm6cyTmqt_IFev1LQMdLZCg_yFJu3aKhBD7GA&amp;amp;amp;q=hotels&amp;amp;amp;f=l&amp;amp;amp;dq=Trinity+College+loc:+Dublin+Ireland&amp;amp;amp;sll=53.341482,-6.258302&amp;amp;amp;sspn=0.012043,0.037637&amp;amp;amp;ie=UTF8&amp;amp;amp;ei=U6TMSZSzKpSw2QLG_-CUCA&amp;amp;amp;attrid=1036f063d3d0dafc_&amp;amp;amp;ll=53.343711,-6.254568&amp;amp;amp;spn=0.012042,0.037637&amp;amp;amp;z=15 &lt;br /&gt;
&lt;br /&gt;
= Registration  =&lt;br /&gt;
&lt;br /&gt;
'''The fee for this conference is&amp;amp;nbsp;:&amp;lt;br&amp;gt;'''''Standard''': €150 Euro &amp;lt;br&amp;gt;'''OWASP Members''': €100 Euro &lt;br /&gt;
&lt;br /&gt;
'''Training: '''€495&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;'''Membership of OWASP is not required to attend the event.'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note''': To save on processing expenses, all fees paid for the OWASP conference are non-refundable. OWASP can accommodate transfers of registrations from one person to another, if such an adjustment becomes necessary. &lt;br /&gt;
&lt;br /&gt;
'''Cvent Registration Link: [http://guest.cvent.com/i.aspx?4W%2cM3%2c679c382d-35c2-4815-a399-c2c3a95ebfd7 Click-Here]''' &lt;br /&gt;
&lt;br /&gt;
= Conference Committee  =&lt;br /&gt;
&lt;br /&gt;
'''2010 Ireland Planning Committee Chair''': &lt;br /&gt;
&lt;br /&gt;
Eoin Keary -&amp;amp;nbsp;eoin.keary 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fabio Cerullo&amp;amp;nbsp; - fcerullo 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
Rahim Jina - rahim.jina 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
= Call for Papers  =&lt;br /&gt;
&lt;br /&gt;
The Conference will consist of two tracks covering both technical and risk management topics. &lt;br /&gt;
&lt;br /&gt;
'''We are seeking presentations on any of the following topics:''' &lt;br /&gt;
&lt;br /&gt;
*Web Services and Application Security &lt;br /&gt;
*Common Application related Threats and Risks &lt;br /&gt;
*Business Risks with Application Security &lt;br /&gt;
*Vulnerability Research in Application Security &lt;br /&gt;
*Web Application Penetration Testing &lt;br /&gt;
*OWASP Tools and Projects &lt;br /&gt;
*Secure Coding/Development Practices &lt;br /&gt;
*Technology specific presentations on security such as AJAX, XML, etc. &lt;br /&gt;
*Anything else relating to OWASP and Application Security.&lt;br /&gt;
&lt;br /&gt;
The call for papers/presentations is out. The official closing date for receiving a synopsis of the presentation is June 10th, 2010. Announcements on selected candidates will be provided the first week of July 2010. Complete presentations will need to be submitted by the 2nd of August 2010. &lt;br /&gt;
&lt;br /&gt;
All presenters will receive free invitation to the conference, food and refreshments. &lt;br /&gt;
&lt;br /&gt;
'''For some speakers, OWASP will cover some of the travel costs associated with coming to the conference.''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Please submit your presentation topics and an abstract of up to 500 words to Eoin Keary''' &amp;amp;lt;mailto: Eoin.keary@owasp.org&amp;amp;gt;&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Scarewaretraversingtheworld&amp;diff=86753</id>
		<title>Scarewaretraversingtheworld</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Scarewaretraversingtheworld&amp;diff=86753"/>
				<updated>2010-07-21T12:50:55Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: Created page with 'In 2008, a dedicated group of security professionals came together to set up IRISS-CERT, Ireland's first CSIRT, to provide a range of free services to Irish businesses and consum…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In 2008, a dedicated group of security professionals came together to set up IRISS-CERT, Ireland's first CSIRT, to provide a range of free services to Irish businesses and consumers in relation to information security issues. The aim is to help counter the security threats posed to both the Irish businesses and the Irish Internet space.&lt;br /&gt;
&lt;br /&gt;
Throughout the first two years, IRISS-CERT has notified and helped many website owners detect, clean or restore their sites after a compromise.&lt;br /&gt;
&lt;br /&gt;
In July 2009, several Irish websites were attacked and had malware code injected into them. These (compromised) websites redirected end-users to malicious websites, which subsequently served malware to anyone who was browsing the original legitimate sites. The notification of this compromise (to IRISS CERT) resulted in me beginning the on-duty Incident Handler, initiating the Incident Handling Process to examine the issue.&lt;br /&gt;
&lt;br /&gt;
Mark will summarise this aforementioned attack and briefly include other types of attacks that IRISS-CERT have seen. He will primarily focus on the process as laid out in his GIAC GCIH Gold Paper. The investigation into the July 2009 attack and the associated complex infrastructure prompted the research paper. &lt;br /&gt;
&lt;br /&gt;
The talk will cover the various stages of the Incident Handling Process explaining how they pertain to both the web application exploit and the associated scareware installation.&lt;br /&gt;
&lt;br /&gt;
By discussing these attacks, the talk should enable both companies and volunteer organisations to improve Incident Handling efforts when responding to Web Application attacks.&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_IRELAND_2010&amp;diff=86752</id>
		<title>OWASP IRELAND 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_IRELAND_2010&amp;diff=86752"/>
				<updated>2010-07-21T12:50:22Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Dublin2010.gif]]&amp;amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welcome to the Irish OWASP Application Security Conference!&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its Ireland's turn again&amp;amp;nbsp;on '''September 17, 2010''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''September 17th 2010''': OWASP will hold its second Irish Application Security conference in&amp;amp;nbsp;Dublin University, Trinity College, Dublin, Ireland. &lt;br /&gt;
&lt;br /&gt;
The conference consists of an intensive day of talks/presentations and discussion with 2 different tracks focusing on the causes and trends in web application insecurity. &lt;br /&gt;
&lt;br /&gt;
'''[http://www.owasp.org/index.php/OWASP_IRELAND_2010#Training Training]: (16th September 2010)'''&amp;lt;br&amp;gt;'''''Secure Application Development: Writing secure code (and testing it)''''' training is to be delivered on the 16 September, following the very successful model delivered in 2009 (see more details below) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more details please contact: Eoin.Keary 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
== Conference Location  ==&lt;br /&gt;
&lt;br /&gt;
[[Image:AppSecIreland09 Dublin.JPG|www.tcd.ie]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Event Sponsorship  ==&lt;br /&gt;
&lt;br /&gt;
OWASP is providing sponsors exclusive access to its audience in Dublin, Ireland through a limited number of Expo floor slots, providing a focused setting for potential customers. The conference is expected to draw 150 - 200 technologists who will be looking for ways to spend their remaining 2010 budget and planning for 2010/11. Financial Services, Media, Pharmaceuticals, Government, Healthcare, Technology, and many other verticals will be represented. &amp;lt;br&amp;gt;Sponsorship details are available here:&amp;amp;nbsp; Please review or sponsorship proposal:&amp;amp;nbsp;[http://www.owasp.org/images/c/c8/OWASP_sponsorship_Master.pdf Click_here] &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
=== Sponsors  ===&lt;br /&gt;
&lt;br /&gt;
'''Silver Sponsors''' &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Image:Cenzic small 2.GIF]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''CENZIC''' - Cenzic provides software and SaaS solutions for dynamic, black box testing of Web applications to protect Websites against hacker attacks.Built from the ground up on a completely different technology backbone than its competitors, Cenzic goes beyond signature-based tools to find more &amp;quot;real&amp;quot; vulnerabilities. To request a free demo please visit http://www.cenzic.com &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&amp;lt;center&amp;gt;[[Image:Veracode logo 2color small.JPG]]&amp;lt;/center&amp;gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''Veracode''' is the world’s leader in cloud-based application risk management. With patented binary code analysis, dynamic Web assessments, and partner or Veracode-delivered manual penetration testing, combined with developer e-learning and access to open source security ratings, Veracode SecurityReview® allows customers to independently verify application security in both internally developed applications and third-party software without requiring source code or expensive tools. Veracode provides the most simple, complete and accurate way to implement security best practices, reduce operational cost and comply with internal security policies or external standards such as OWASP Top 10, CWE/SANS Top 25 and PCI. Veracode works with global organizations across multiple vertical industries including Barclays PLC, California Public Employees’ Retirement System (CalPERS), Computershare, and the Federal Aviation Administration (FAA). For more information, visit www.veracode.com http://www.veracode.com/ &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:FORTIFY_LOGO_MED.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
'''Fortify® Software''' is the leader in the emerging category of Software Security Assurance (SSA). Fortify's SSA products and services protect companies from the threats posed by security flaws in business-critical software applications and result in applications that are inherently more secure and impervious to attack. Our solutions help identify and resolve critical application vulnerabilities in less time and at lower cost. http://www.fortify.com&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Supported by  ===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Image:Irisss small.jpg]] [[Image:IISF.jpg]] [[Image:Iia-logo-small.jpg]][[Image:DG horiz col.gif]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
== Agenda and Presentations - September 17  ==&lt;br /&gt;
&lt;br /&gt;
The agenda follows the successful OWASP conference two tracks format, with opening keynotes and presentations in the main auditorium, split tracks in the middle of the day, and closing pannel discussions back in the main auditorium both days. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot; style=&amp;quot;width: 80%&amp;quot; align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; colspan=&amp;quot;3&amp;quot; | [http://www.tcd.ie/Maps/map.php?q=hamilton+building Hamilton Building, TCD] - September 17, 2010&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; | Track 1: Synge Theatre &lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; | Track 2: Salmon Theatre&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 08:00-09:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Registration and Coffee&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 09:00 - 09:10 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | Welcome to OWASP Ireland 2010 Conference &lt;br /&gt;
'''''[[User:EoinKeary|Eoin Keary]], [http://ie.linkedin.com/in/fcerullo Fabio Cerullo] &amp;amp;amp; Rahim Jina'''&amp;amp;nbsp;&amp;lt;br&amp;gt;'''OWASP Ireland Board''''' &amp;lt;br&amp;gt;'''Location: Joly Theatre'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 09:15 - 10:15 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | '''Keynote: &amp;quot;Application Security in the Real World&amp;quot;''' - Considerations for AppSec in non-security companies. &lt;br /&gt;
'''''[[John Viega|John Viega&amp;amp;nbsp;]]&amp;amp;nbsp;'''''Executive Vice President, Perimeter E-Security &lt;br /&gt;
&lt;br /&gt;
'''Location: Joly Theatre'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 10:20 - 10:40 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
OWASP &amp;quot;State of the Nation&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[User:EoinKeary|'''Eoin Keary''']]&amp;amp;amp;&amp;amp;nbsp;[[User:Dinis Cruz|'''Dinis Cruz''']] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;sub&amp;gt;''OWASP Global board members''&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 10:45 - 11:10 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Break - Expo&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 11:10 -&amp;amp;nbsp;11:45 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Testing the Enterprise E-mail Security - from Software to Cloud-based Services&amp;quot;&amp;lt;br&amp;gt;[[User:Dr. Marian Ventuneac|'''Dr. Marian Ventuneac''']]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Counter Intelligence as Defense: Integrating predictive and proactive attack knowledge as a wall of defense&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[User:FredDonovan|'''Fred Donovan''']]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 11:50 - 12:30 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;The Evolution of Security Testing: Testing the Resiliency of Security&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[David Stubley|'''David Stubley''']] (GIAC)&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Path to a Secure Application&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[User:RyanBerg|'''Ryan Berg''']] IBM&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 12:40 - 13:10 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Smart Phones with Dumb Apps&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[Dan Cornell|'''Dan Cornell''']]&amp;amp;nbsp; Principal of [http://www.denimgroup.com Denim Group], Ltd.&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Technology and Business Risk Management: How Application Security Fits In! &lt;br /&gt;
&lt;br /&gt;
[[User:Peter Perfetti|'''Peter Perfetti''']]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 13:10 - 14:10 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Lunch - [http://www.tcd.ie/Maps/map.php?q=dining+hall TCD Dining Hall], buffet Lunch&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 1410 - 15:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | '''Keynote: &amp;quot;The changing face of cryptography&amp;quot;''' &lt;br /&gt;
'''''[[User:Professor Fred Piper|Professor Fred Piper]]'''''&amp;lt;i&amp;gt;, BSc, PhD (London), ARCS, DIC, CEng, CMath, FIEE, FIMA, BCS, CISSP, CISM.&amp;lt;/i&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Location: Joly Theatre'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 15:10 - 15:50 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Microsoft's Security Development Lifecycle for Agile Development&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[Nick Coblentz|'''Nick Coblentz''']]&amp;amp;nbsp;AT&amp;amp;amp;T Consulting&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
[[The Real appsec pentest|&amp;quot;The &amp;quot;real&amp;quot; application security pentest.&amp;quot;]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Rory Alsop|'''Rory Alsop''']]&amp;amp;amp; [[Rory McCune|'''Rory McCune''']]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 16:00 - 16:40 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;How to Defend Fragile Web Applications&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[Vinay Bansal, Martin Nystrom|'''Vinay Bansal, Martin Nystrom''']] Cisco systems&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
[[Scarewaretraversingtheworld|&amp;quot;Scareware Traversing the World via a Web App Exploit&amp;quot;]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[MarkHillick|'''Mark Hillick''']]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 16:50 - 17:50 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
'''Keynote: &amp;quot;Hackers and Hollywood: The Implications of the Popular &amp;lt;br&amp;gt;Media Representation of Computer Hacking&amp;quot;''' &lt;br /&gt;
&lt;br /&gt;
'''''[[User:Damian Gordon|Damian Gordon]]'''''&amp;lt;i&amp;gt;&amp;amp;nbsp;Phd, School of Computing&amp;amp;nbsp;Dublin Institute of Technology.&amp;lt;/i&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''''Location: Joly Theatre'''''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 17:50 - 18:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Wrap-Up&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 18:00-21:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | OWASP Social Gathering&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Training  =&lt;br /&gt;
&lt;br /&gt;
We intend to hold some application security training on the 16/09/2010 the day prior to the event.&amp;lt;br&amp;gt;This can be booked when booking a ticket to the event.&amp;lt;br&amp;gt;'''Fee: €495''' &lt;br /&gt;
&lt;br /&gt;
== '''Secure Application Development: Writing secure code (and testing it)'''&amp;lt;br&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
'''Trainers''': &lt;br /&gt;
&lt;br /&gt;
[[User:EoinKeary|'''Eoin Keary'''&amp;amp;nbsp;]] Senior Manager, Ernst &amp;amp;amp; Young, OWASP Board Member &lt;br /&gt;
&lt;br /&gt;
'''Rahim Jina''' Senior Consultant, Ernst &amp;amp;amp;&amp;amp;nbsp;Young, OWASP Ireland chapter board. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&amp;lt;br&amp;gt;Writing Secure code is the most effective method to securing your web applications. Writing secure code takes skill and know-how but results in a more stable and robust application and assists in protecting an organisations brand. &lt;br /&gt;
&lt;br /&gt;
Application security is not commonly a part of many computer science curricula today and most organizations have not focused on instituting a culture that includes application security as a core part of their software development training efforts. This intensive one-day course focuses on the most common web application security problems, including aspects of both the OWASP Top Ten (2010) and the MITRE Top 25.&amp;amp;nbsp; The course will introduce and demonstrate application assessment techniques, illustrating how application vulnerabilities can be exploited so students really understand how to avoid introducing such vulnerabilities in their code. &lt;br /&gt;
&lt;br /&gt;
This course includes coverage of the following areas: &lt;br /&gt;
&lt;br /&gt;
*Unvalidated Input &lt;br /&gt;
*Injection Flaws&amp;lt;br&amp;gt;&lt;br /&gt;
*Cross-Site Scriping &lt;br /&gt;
*CSRF &lt;br /&gt;
*Authentication &amp;amp;amp;&amp;amp;nbsp;Session Management &lt;br /&gt;
*Access control &amp;amp;amp; Authorisation &lt;br /&gt;
*Broken Caching &lt;br /&gt;
*Error Handling &lt;br /&gt;
*Cryptography &lt;br /&gt;
*Resource Management &lt;br /&gt;
*Rich Internet Applications &amp;amp;amp;&amp;amp;nbsp;Webservices &lt;br /&gt;
*The Secure SDLC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;'''Hands on''' &lt;br /&gt;
&lt;br /&gt;
To cement the principles discussed, students can participate in a number of hands-on security testing exercises where they attack a live web application (i.e., WebGoat etc) that has been seeded with common web application vulnerabilities. The students will use proxy tools commonly used by the hacker community to complete the exercises. Students need to bring their own windows based laptop to participate in the exercises. &lt;br /&gt;
&lt;br /&gt;
'''Audience''' &lt;br /&gt;
&lt;br /&gt;
Developers who want to understand the most common web application security flaws, and how to avoid them and code in a secure manner &lt;br /&gt;
&lt;br /&gt;
'''Level''' &lt;br /&gt;
&lt;br /&gt;
Intermediate &lt;br /&gt;
&lt;br /&gt;
'''Prerequisite''' &lt;br /&gt;
&lt;br /&gt;
Basic knowledge of a web programming language like Java or .NET recommended but not required. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bringing your own windows based laptop is recommended so you can participate in the hands on exercises. &lt;br /&gt;
&lt;br /&gt;
'''Duration''' &lt;br /&gt;
&lt;br /&gt;
Full day - 8 Hours&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Venue  =&lt;br /&gt;
&lt;br /&gt;
Trinity College, Dublin &amp;lt;br&amp;gt;[http://www.tcd.ie/Maps/map.php?q=hamilton+building Map of hamilton Building Location] &lt;br /&gt;
&lt;br /&gt;
[http://www.tcd.ie/Maps/map.php?q=dining+hall Dining Hall location] &lt;br /&gt;
&lt;br /&gt;
= Transportation  =&lt;br /&gt;
&lt;br /&gt;
=== By Air  ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Fly to Dublin Airport: http://www.dublinairport.com/ &amp;lt;br&amp;gt;A taxi or bus can take you into Dublin city. (€30 - Taxi) (€10 - Bus)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Public Transport  ===&lt;br /&gt;
&lt;br /&gt;
= Accommodation  =&lt;br /&gt;
&lt;br /&gt;
Please see here if you wish to stay within the grounds of Trinity College:&amp;lt;br&amp;gt;http://www.owasp.org/images/2/20/TCD_Tariff_2009.pdf &lt;br /&gt;
&lt;br /&gt;
'''Hotels Surrounding Trinity College:''' &lt;br /&gt;
&lt;br /&gt;
http://maps.google.com/maps?near=Dame+Street,+College+Green,+Dublin+2,+Ireland+(Trinity+College+Campus)&amp;amp;amp;geocode=Cfm6cyTmqt_IFev1LQMdLZCg_yFJu3aKhBD7GA&amp;amp;amp;q=hotels&amp;amp;amp;f=l&amp;amp;amp;dq=Trinity+College+loc:+Dublin+Ireland&amp;amp;amp;sll=53.341482,-6.258302&amp;amp;amp;sspn=0.012043,0.037637&amp;amp;amp;ie=UTF8&amp;amp;amp;ei=U6TMSZSzKpSw2QLG_-CUCA&amp;amp;amp;attrid=1036f063d3d0dafc_&amp;amp;amp;ll=53.343711,-6.254568&amp;amp;amp;spn=0.012042,0.037637&amp;amp;amp;z=15 &lt;br /&gt;
&lt;br /&gt;
= Registration  =&lt;br /&gt;
&lt;br /&gt;
'''The fee for this conference is&amp;amp;nbsp;:&amp;lt;br&amp;gt;'''''Standard''': €150 Euro &amp;lt;br&amp;gt;'''OWASP Members''': €100 Euro &lt;br /&gt;
&lt;br /&gt;
'''Training: '''€495&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;'''Membership of OWASP is not required to attend the event.'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note''': To save on processing expenses, all fees paid for the OWASP conference are non-refundable. OWASP can accommodate transfers of registrations from one person to another, if such an adjustment becomes necessary. &lt;br /&gt;
&lt;br /&gt;
'''Cvent Registration Link: [http://guest.cvent.com/i.aspx?4W%2cM3%2c679c382d-35c2-4815-a399-c2c3a95ebfd7 Click-Here]''' &lt;br /&gt;
&lt;br /&gt;
= Conference Committee  =&lt;br /&gt;
&lt;br /&gt;
'''2010 Ireland Planning Committee Chair''': &lt;br /&gt;
&lt;br /&gt;
Eoin Keary -&amp;amp;nbsp;eoin.keary 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fabio Cerullo&amp;amp;nbsp; - fcerullo 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
Rahim Jina - rahim.jina 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
= Call for Papers  =&lt;br /&gt;
&lt;br /&gt;
The Conference will consist of two tracks covering both technical and risk management topics. &lt;br /&gt;
&lt;br /&gt;
'''We are seeking presentations on any of the following topics:''' &lt;br /&gt;
&lt;br /&gt;
*Web Services and Application Security &lt;br /&gt;
*Common Application related Threats and Risks &lt;br /&gt;
*Business Risks with Application Security &lt;br /&gt;
*Vulnerability Research in Application Security &lt;br /&gt;
*Web Application Penetration Testing &lt;br /&gt;
*OWASP Tools and Projects &lt;br /&gt;
*Secure Coding/Development Practices &lt;br /&gt;
*Technology specific presentations on security such as AJAX, XML, etc. &lt;br /&gt;
*Anything else relating to OWASP and Application Security.&lt;br /&gt;
&lt;br /&gt;
The call for papers/presentations is out. The official closing date for receiving a synopsis of the presentation is June 10th, 2010. Announcements on selected candidates will be provided the first week of July 2010. Complete presentations will need to be submitted by the 2nd of August 2010. &lt;br /&gt;
&lt;br /&gt;
All presenters will receive free invitation to the conference, food and refreshments. &lt;br /&gt;
&lt;br /&gt;
'''For some speakers, OWASP will cover some of the travel costs associated with coming to the conference.''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Please submit your presentation topics and an abstract of up to 500 words to Eoin Keary''' &amp;amp;lt;mailto: Eoin.keary@owasp.org&amp;amp;gt;&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=User:FredDonovan&amp;diff=86751</id>
		<title>User:FredDonovan</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=User:FredDonovan&amp;diff=86751"/>
				<updated>2010-07-21T12:39:32Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: Created page with 'Fred's career encompasses application security research and the founding of Attack Logic, a U.S. based AppSec consultancy.  He spent 3 years as a private researcher in the field …'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Fred's career encompasses application security research and the founding of Attack Logic, a U.S. based AppSec consultancy.  He spent 3 years as a private researcher in the field of InfoSec and for the past 10 years has provided executive level IT services to public and private firms.  Application Security has been his exclusive focus for the past 7.  &lt;br /&gt;
He is a regular guest lecturer and speaker at Universities, Conferences, and professional organizations.  Mr. Donovan is alumni of the University of Missouri -- Columbia (Mizzou) and the American Military University (AMU).  He currently splits time between New York and Nebraska.  When asked who he is, Fred will say he is &amp;quot;a father of 4 and a friend and brother to many&amp;quot;&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_IRELAND_2010&amp;diff=86750</id>
		<title>OWASP IRELAND 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_IRELAND_2010&amp;diff=86750"/>
				<updated>2010-07-21T12:38:27Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Dublin2010.gif]]&amp;amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welcome to the Irish OWASP Application Security Conference!&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its Ireland's turn again&amp;amp;nbsp;on '''September 17, 2010''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''September 17th 2010''': OWASP will hold its second Irish Application Security conference in&amp;amp;nbsp;Dublin University, Trinity College, Dublin, Ireland. &lt;br /&gt;
&lt;br /&gt;
The conference consists of an intensive day of talks/presentations and discussion with 2 different tracks focusing on the causes and trends in web application insecurity. &lt;br /&gt;
&lt;br /&gt;
'''[http://www.owasp.org/index.php/OWASP_IRELAND_2010#Training Training]: (16th September 2010)'''&amp;lt;br&amp;gt;'''''Secure Application Development: Writing secure code (and testing it)''''' training is to be delivered on the 16 September, following the very successful model delivered in 2009 (see more details below) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more details please contact: Eoin.Keary 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
== Conference Location  ==&lt;br /&gt;
&lt;br /&gt;
[[Image:AppSecIreland09 Dublin.JPG|www.tcd.ie]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Event Sponsorship  ==&lt;br /&gt;
&lt;br /&gt;
OWASP is providing sponsors exclusive access to its audience in Dublin, Ireland through a limited number of Expo floor slots, providing a focused setting for potential customers. The conference is expected to draw 150 - 200 technologists who will be looking for ways to spend their remaining 2010 budget and planning for 2010/11. Financial Services, Media, Pharmaceuticals, Government, Healthcare, Technology, and many other verticals will be represented. &amp;lt;br&amp;gt;Sponsorship details are available here:&amp;amp;nbsp; Please review or sponsorship proposal:&amp;amp;nbsp;[http://www.owasp.org/images/c/c8/OWASP_sponsorship_Master.pdf Click_here] &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
=== Sponsors  ===&lt;br /&gt;
&lt;br /&gt;
'''Silver Sponsors''' &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Image:Cenzic small 2.GIF]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''CENZIC''' - Cenzic provides software and SaaS solutions for dynamic, black box testing of Web applications to protect Websites against hacker attacks.Built from the ground up on a completely different technology backbone than its competitors, Cenzic goes beyond signature-based tools to find more &amp;quot;real&amp;quot; vulnerabilities. To request a free demo please visit http://www.cenzic.com &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&amp;lt;center&amp;gt;[[Image:Veracode logo 2color small.JPG]]&amp;lt;/center&amp;gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''Veracode''' is the world’s leader in cloud-based application risk management. With patented binary code analysis, dynamic Web assessments, and partner or Veracode-delivered manual penetration testing, combined with developer e-learning and access to open source security ratings, Veracode SecurityReview® allows customers to independently verify application security in both internally developed applications and third-party software without requiring source code or expensive tools. Veracode provides the most simple, complete and accurate way to implement security best practices, reduce operational cost and comply with internal security policies or external standards such as OWASP Top 10, CWE/SANS Top 25 and PCI. Veracode works with global organizations across multiple vertical industries including Barclays PLC, California Public Employees’ Retirement System (CalPERS), Computershare, and the Federal Aviation Administration (FAA). For more information, visit www.veracode.com http://www.veracode.com/ &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:FORTIFY_LOGO_MED.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
'''Fortify® Software''' is the leader in the emerging category of Software Security Assurance (SSA). Fortify's SSA products and services protect companies from the threats posed by security flaws in business-critical software applications and result in applications that are inherently more secure and impervious to attack. Our solutions help identify and resolve critical application vulnerabilities in less time and at lower cost. http://www.fortify.com&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Supported by  ===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Image:Irisss small.jpg]] [[Image:IISF.jpg]] [[Image:Iia-logo-small.jpg]][[Image:DG horiz col.gif]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
== Agenda and Presentations - September 17  ==&lt;br /&gt;
&lt;br /&gt;
The agenda follows the successful OWASP conference two tracks format, with opening keynotes and presentations in the main auditorium, split tracks in the middle of the day, and closing pannel discussions back in the main auditorium both days. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot; style=&amp;quot;width: 80%&amp;quot; align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; colspan=&amp;quot;3&amp;quot; | [http://www.tcd.ie/Maps/map.php?q=hamilton+building Hamilton Building, TCD] - September 17, 2010&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; | Track 1: Synge Theatre &lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; | Track 2: Salmon Theatre&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 08:00-09:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Registration and Coffee&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 09:00 - 09:10 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | Welcome to OWASP Ireland 2010 Conference &lt;br /&gt;
'''''[[User:EoinKeary|Eoin Keary]], [http://ie.linkedin.com/in/fcerullo Fabio Cerullo] &amp;amp;amp; Rahim Jina'''&amp;amp;nbsp;&amp;lt;br&amp;gt;'''OWASP Ireland Board''''' &amp;lt;br&amp;gt;'''Location: Joly Theatre'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 09:15 - 10:15 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | '''Keynote: &amp;quot;Application Security in the Real World&amp;quot;''' - Considerations for AppSec in non-security companies. &lt;br /&gt;
'''''[[John Viega|John Viega&amp;amp;nbsp;]]&amp;amp;nbsp;'''''Executive Vice President, Perimeter E-Security &lt;br /&gt;
&lt;br /&gt;
'''Location: Joly Theatre'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 10:20 - 10:40 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
OWASP &amp;quot;State of the Nation&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[User:EoinKeary|'''Eoin Keary''']]&amp;amp;amp;&amp;amp;nbsp;[[User:Dinis Cruz|'''Dinis Cruz''']] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;sub&amp;gt;''OWASP Global board members''&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 10:45 - 11:10 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Break - Expo&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 11:10 -&amp;amp;nbsp;11:45 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Testing the Enterprise E-mail Security - from Software to Cloud-based Services&amp;quot;&amp;lt;br&amp;gt;[[User:Dr. Marian Ventuneac|'''Dr. Marian Ventuneac''']]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Counter Intelligence as Defense: Integrating predictive and proactive attack knowledge as a wall of defense&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[User:FredDonovan|'''Fred Donovan''']]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 11:50 - 12:30 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;The Evolution of Security Testing: Testing the Resiliency of Security&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[David Stubley|'''David Stubley''']] (GIAC)&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Path to a Secure Application&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[User:RyanBerg|'''Ryan Berg''']] IBM&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 12:40 - 13:10 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Smart Phones with Dumb Apps&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[Dan Cornell|'''Dan Cornell''']]&amp;amp;nbsp; Principal of [http://www.denimgroup.com Denim Group], Ltd.&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Technology and Business Risk Management: How Application Security Fits In! &lt;br /&gt;
&lt;br /&gt;
[[User:Peter Perfetti|'''Peter Perfetti''']]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 13:10 - 14:10 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Lunch - [http://www.tcd.ie/Maps/map.php?q=dining+hall TCD Dining Hall], buffet Lunch&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 1410 - 15:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | '''Keynote: &amp;quot;The changing face of cryptography&amp;quot;''' &lt;br /&gt;
'''''[[User:Professor Fred Piper|Professor Fred Piper]]'''''&amp;lt;i&amp;gt;, BSc, PhD (London), ARCS, DIC, CEng, CMath, FIEE, FIMA, BCS, CISSP, CISM.&amp;lt;/i&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Location: Joly Theatre'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 15:10 - 15:50 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Microsoft's Security Development Lifecycle for Agile Development&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[Nick Coblentz|'''Nick Coblentz''']]&amp;amp;nbsp;AT&amp;amp;amp;T Consulting&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
[[The Real appsec pentest|&amp;quot;The &amp;quot;real&amp;quot; application security pentest.&amp;quot;]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Rory Alsop|'''Rory Alsop''']]&amp;amp;amp; [[Rory McCune|'''Rory McCune''']]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 16:00 - 16:40 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;How to Defend Fragile Web Applications&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[Vinay Bansal, Martin Nystrom|'''Vinay Bansal, Martin Nystrom''']] Cisco systems&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 16:50 - 17:50 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
'''Keynote: &amp;quot;Hackers and Hollywood: The Implications of the Popular &amp;lt;br&amp;gt;Media Representation of Computer Hacking&amp;quot;''' &lt;br /&gt;
&lt;br /&gt;
'''''[[User:Damian Gordon|Damian Gordon]]'''''&amp;lt;i&amp;gt;&amp;amp;nbsp;Phd, School of Computing&amp;amp;nbsp;Dublin Institute of Technology.&amp;lt;/i&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''''Location: Joly Theatre'''''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 17:50 - 18:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Wrap-Up&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 18:00-21:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | OWASP Social Gathering&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Training  =&lt;br /&gt;
&lt;br /&gt;
We intend to hold some application security training on the 16/09/2010 the day prior to the event.&amp;lt;br&amp;gt;This can be booked when booking a ticket to the event.&amp;lt;br&amp;gt;'''Fee: €495''' &lt;br /&gt;
&lt;br /&gt;
== '''Secure Application Development: Writing secure code (and testing it)'''&amp;lt;br&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
'''Trainers''': &lt;br /&gt;
&lt;br /&gt;
[[User:EoinKeary|'''Eoin Keary'''&amp;amp;nbsp;]] Senior Manager, Ernst &amp;amp;amp; Young, OWASP Board Member &lt;br /&gt;
&lt;br /&gt;
'''Rahim Jina''' Senior Consultant, Ernst &amp;amp;amp;&amp;amp;nbsp;Young, OWASP Ireland chapter board. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&amp;lt;br&amp;gt;Writing Secure code is the most effective method to securing your web applications. Writing secure code takes skill and know-how but results in a more stable and robust application and assists in protecting an organisations brand. &lt;br /&gt;
&lt;br /&gt;
Application security is not commonly a part of many computer science curricula today and most organizations have not focused on instituting a culture that includes application security as a core part of their software development training efforts. This intensive one-day course focuses on the most common web application security problems, including aspects of both the OWASP Top Ten (2010) and the MITRE Top 25.&amp;amp;nbsp; The course will introduce and demonstrate application assessment techniques, illustrating how application vulnerabilities can be exploited so students really understand how to avoid introducing such vulnerabilities in their code. &lt;br /&gt;
&lt;br /&gt;
This course includes coverage of the following areas: &lt;br /&gt;
&lt;br /&gt;
*Unvalidated Input &lt;br /&gt;
*Injection Flaws&amp;lt;br&amp;gt;&lt;br /&gt;
*Cross-Site Scriping &lt;br /&gt;
*CSRF &lt;br /&gt;
*Authentication &amp;amp;amp;&amp;amp;nbsp;Session Management &lt;br /&gt;
*Access control &amp;amp;amp; Authorisation &lt;br /&gt;
*Broken Caching &lt;br /&gt;
*Error Handling &lt;br /&gt;
*Cryptography &lt;br /&gt;
*Resource Management &lt;br /&gt;
*Rich Internet Applications &amp;amp;amp;&amp;amp;nbsp;Webservices &lt;br /&gt;
*The Secure SDLC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;'''Hands on''' &lt;br /&gt;
&lt;br /&gt;
To cement the principles discussed, students can participate in a number of hands-on security testing exercises where they attack a live web application (i.e., WebGoat etc) that has been seeded with common web application vulnerabilities. The students will use proxy tools commonly used by the hacker community to complete the exercises. Students need to bring their own windows based laptop to participate in the exercises. &lt;br /&gt;
&lt;br /&gt;
'''Audience''' &lt;br /&gt;
&lt;br /&gt;
Developers who want to understand the most common web application security flaws, and how to avoid them and code in a secure manner &lt;br /&gt;
&lt;br /&gt;
'''Level''' &lt;br /&gt;
&lt;br /&gt;
Intermediate &lt;br /&gt;
&lt;br /&gt;
'''Prerequisite''' &lt;br /&gt;
&lt;br /&gt;
Basic knowledge of a web programming language like Java or .NET recommended but not required. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bringing your own windows based laptop is recommended so you can participate in the hands on exercises. &lt;br /&gt;
&lt;br /&gt;
'''Duration''' &lt;br /&gt;
&lt;br /&gt;
Full day - 8 Hours&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Venue  =&lt;br /&gt;
&lt;br /&gt;
Trinity College, Dublin &amp;lt;br&amp;gt;[http://www.tcd.ie/Maps/map.php?q=hamilton+building Map of hamilton Building Location] &lt;br /&gt;
&lt;br /&gt;
[http://www.tcd.ie/Maps/map.php?q=dining+hall Dining Hall location] &lt;br /&gt;
&lt;br /&gt;
= Transportation  =&lt;br /&gt;
&lt;br /&gt;
=== By Air  ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Fly to Dublin Airport: http://www.dublinairport.com/ &amp;lt;br&amp;gt;A taxi or bus can take you into Dublin city. (€30 - Taxi) (€10 - Bus)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Public Transport  ===&lt;br /&gt;
&lt;br /&gt;
= Accommodation  =&lt;br /&gt;
&lt;br /&gt;
Please see here if you wish to stay within the grounds of Trinity College:&amp;lt;br&amp;gt;http://www.owasp.org/images/2/20/TCD_Tariff_2009.pdf &lt;br /&gt;
&lt;br /&gt;
'''Hotels Surrounding Trinity College:''' &lt;br /&gt;
&lt;br /&gt;
http://maps.google.com/maps?near=Dame+Street,+College+Green,+Dublin+2,+Ireland+(Trinity+College+Campus)&amp;amp;amp;geocode=Cfm6cyTmqt_IFev1LQMdLZCg_yFJu3aKhBD7GA&amp;amp;amp;q=hotels&amp;amp;amp;f=l&amp;amp;amp;dq=Trinity+College+loc:+Dublin+Ireland&amp;amp;amp;sll=53.341482,-6.258302&amp;amp;amp;sspn=0.012043,0.037637&amp;amp;amp;ie=UTF8&amp;amp;amp;ei=U6TMSZSzKpSw2QLG_-CUCA&amp;amp;amp;attrid=1036f063d3d0dafc_&amp;amp;amp;ll=53.343711,-6.254568&amp;amp;amp;spn=0.012042,0.037637&amp;amp;amp;z=15 &lt;br /&gt;
&lt;br /&gt;
= Registration  =&lt;br /&gt;
&lt;br /&gt;
'''The fee for this conference is&amp;amp;nbsp;:&amp;lt;br&amp;gt;'''''Standard''': €150 Euro &amp;lt;br&amp;gt;'''OWASP Members''': €100 Euro &lt;br /&gt;
&lt;br /&gt;
'''Training: '''€495&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;'''Membership of OWASP is not required to attend the event.'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note''': To save on processing expenses, all fees paid for the OWASP conference are non-refundable. OWASP can accommodate transfers of registrations from one person to another, if such an adjustment becomes necessary. &lt;br /&gt;
&lt;br /&gt;
'''Cvent Registration Link: [http://guest.cvent.com/i.aspx?4W%2cM3%2c679c382d-35c2-4815-a399-c2c3a95ebfd7 Click-Here]''' &lt;br /&gt;
&lt;br /&gt;
= Conference Committee  =&lt;br /&gt;
&lt;br /&gt;
'''2010 Ireland Planning Committee Chair''': &lt;br /&gt;
&lt;br /&gt;
Eoin Keary -&amp;amp;nbsp;eoin.keary 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fabio Cerullo&amp;amp;nbsp; - fcerullo 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
Rahim Jina - rahim.jina 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
= Call for Papers  =&lt;br /&gt;
&lt;br /&gt;
The Conference will consist of two tracks covering both technical and risk management topics. &lt;br /&gt;
&lt;br /&gt;
'''We are seeking presentations on any of the following topics:''' &lt;br /&gt;
&lt;br /&gt;
*Web Services and Application Security &lt;br /&gt;
*Common Application related Threats and Risks &lt;br /&gt;
*Business Risks with Application Security &lt;br /&gt;
*Vulnerability Research in Application Security &lt;br /&gt;
*Web Application Penetration Testing &lt;br /&gt;
*OWASP Tools and Projects &lt;br /&gt;
*Secure Coding/Development Practices &lt;br /&gt;
*Technology specific presentations on security such as AJAX, XML, etc. &lt;br /&gt;
*Anything else relating to OWASP and Application Security.&lt;br /&gt;
&lt;br /&gt;
The call for papers/presentations is out. The official closing date for receiving a synopsis of the presentation is June 10th, 2010. Announcements on selected candidates will be provided the first week of July 2010. Complete presentations will need to be submitted by the 2nd of August 2010. &lt;br /&gt;
&lt;br /&gt;
All presenters will receive free invitation to the conference, food and refreshments. &lt;br /&gt;
&lt;br /&gt;
'''For some speakers, OWASP will cover some of the travel costs associated with coming to the conference.''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Please submit your presentation topics and an abstract of up to 500 words to Eoin Keary''' &amp;amp;lt;mailto: Eoin.keary@owasp.org&amp;amp;gt;&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_IRELAND_2010&amp;diff=86486</id>
		<title>OWASP IRELAND 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_IRELAND_2010&amp;diff=86486"/>
				<updated>2010-07-15T12:41:06Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Dublin2010.gif]]&amp;amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welcome to the Irish OWASP Application Security Conference!&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its Ireland's turn again&amp;amp;nbsp;on '''September 17, 2010''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''September 17th 2010''': OWASP will hold its second Irish Application Security conference in&amp;amp;nbsp;Dublin University, Trinity College, Dublin, Ireland. &lt;br /&gt;
&lt;br /&gt;
The conference consists of an intensive day of talks/presentations and discussion with 2 different tracks focusing on the causes and trends in web application insecurity. &lt;br /&gt;
&lt;br /&gt;
'''[http://www.owasp.org/index.php/OWASP_IRELAND_2010#Training Training]: (16th September 2010)'''&amp;lt;br&amp;gt;'''''Secure Application Development: Writing secure code (and testing it)''''' training is to be delivered on the 16 September, following the very successful model delivered in 2009 (see more details below) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more details please contact: Eoin.Keary 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
== Conference Location  ==&lt;br /&gt;
&lt;br /&gt;
[[Image:AppSecIreland09 Dublin.JPG|www.tcd.ie]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Event Sponsorship  ==&lt;br /&gt;
&lt;br /&gt;
OWASP is providing sponsors exclusive access to its audience in Dublin, Ireland through a limited number of Expo floor slots, providing a focused setting for potential customers. The conference is expected to draw 150 - 200 technologists who will be looking for ways to spend their remaining 2010 budget and planning for 2010/11. Financial Services, Media, Pharmaceuticals, Government, Healthcare, Technology, and many other verticals will be represented. &amp;lt;br&amp;gt;Sponsorship details are available here:&amp;amp;nbsp; Please review or sponsorship proposal:&amp;amp;nbsp;[http://www.owasp.org/images/c/c8/OWASP_sponsorship_Master.pdf Click_here] &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
=== Sponsors  ===&lt;br /&gt;
&lt;br /&gt;
'''Silver Sponsors''' &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Image:Cenzic small 2.GIF]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''CENZIC''' - Cenzic provides software and SaaS solutions for dynamic, black box testing of Web applications to protect Websites against hacker attacks.Built from the ground up on a completely different technology backbone than its competitors, Cenzic goes beyond signature-based tools to find more &amp;quot;real&amp;quot; vulnerabilities. To request a free demo please visit http://www.cenzic.com &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&amp;lt;center&amp;gt;[[Image:Veracode logo 2color small.JPG]]&amp;lt;/center&amp;gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''Veracode''' is the world’s leader in cloud-based application risk management. With patented binary code analysis, dynamic Web assessments, and partner or Veracode-delivered manual penetration testing, combined with developer e-learning and access to open source security ratings, Veracode SecurityReview® allows customers to independently verify application security in both internally developed applications and third-party software without requiring source code or expensive tools. Veracode provides the most simple, complete and accurate way to implement security best practices, reduce operational cost and comply with internal security policies or external standards such as OWASP Top 10, CWE/SANS Top 25 and PCI. Veracode works with global organizations across multiple vertical industries including Barclays PLC, California Public Employees’ Retirement System (CalPERS), Computershare, and the Federal Aviation Administration (FAA). For more information, visit www.veracode.com http://www.veracode.com/ &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:FORTIFY_LOGO_MED.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
'''Fortify® Software''' is the leader in the emerging category of Software Security Assurance (SSA). Fortify's SSA products and services protect companies from the threats posed by security flaws in business-critical software applications and result in applications that are inherently more secure and impervious to attack. Our solutions help identify and resolve critical application vulnerabilities in less time and at lower cost. http://www.fortify.com&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Supported by  ===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Image:Irisss small.jpg]] [[Image:IISF.jpg]] [[Image:Iia-logo-small.jpg]][[Image:DG horiz col.gif]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
== Agenda and Presentations - September 17  ==&lt;br /&gt;
&lt;br /&gt;
The agenda follows the successful OWASP conference two tracks format, with opening keynotes and presentations in the main auditorium, split tracks in the middle of the day, and closing pannel discussions back in the main auditorium both days. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot; style=&amp;quot;width: 80%&amp;quot; align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; colspan=&amp;quot;3&amp;quot; | [http://www.tcd.ie/Maps/map.php?q=hamilton+building Hamilton Building, TCD] - September 17, 2010&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; | Track 1: Synge Theatre &lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; | Track 2: Salmon Theatre&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 08:00-09:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Registration and Coffee&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 09:00 - 09:10 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | Welcome to OWASP Ireland 2010 Conference &lt;br /&gt;
'''''[[User:EoinKeary|Eoin Keary]], [http://ie.linkedin.com/in/fcerullo Fabio Cerullo] &amp;amp;amp; Rahim Jina'''&amp;amp;nbsp;&amp;lt;br&amp;gt;'''OWASP Ireland Board''''' &amp;lt;br&amp;gt;'''Location: Joly Theatre'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 09:15 - 10:15 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | '''Keynote: &amp;quot;Application Security in the Real World&amp;quot;''' - Considerations for AppSec in non-security companies. &lt;br /&gt;
'''''[[John Viega|John Viega&amp;amp;nbsp;]]&amp;amp;nbsp;'''''Executive Vice President, Perimeter E-Security &lt;br /&gt;
&lt;br /&gt;
'''Location: Joly Theatre'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 10:20 - 10:40 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
OWASP &amp;quot;State of the Nation&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[User:EoinKeary|'''Eoin Keary''']]&amp;amp;amp;&amp;amp;nbsp;[[User:Dinis Cruz|'''Dinis Cruz''']] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;sub&amp;gt;''OWASP Global board members''&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 10:45 - 11:10 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Break - Expo&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 11:10 -&amp;amp;nbsp;11:45 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Testing the Enterprise E-mail Security - from Software to Cloud-based Services&amp;quot;&amp;lt;br&amp;gt;[[User:Dr. Marian Ventuneac|'''Dr. Marian Ventuneac''']]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Setting up a Security Development Lifecycle for the first time&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[User:SebastienGioria|'''Sébastien Gioria''']]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 11:50 - 12:30 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;The Evolution of Security Testing: Testing the Resiliency of Security&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[David Stubley|'''David Stubley''']] (GIAC)&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Path to a Secure Application&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[User:RyanBerg|'''Ryan Berg''']] IBM&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 12:40 - 13:10 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Smart Phones with Dumb Apps&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[Dan Cornell|'''Dan Cornell''']]&amp;amp;nbsp; Principal of [http://www.denimgroup.com Denim Group], Ltd.&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Technology and Business Risk Management: How Application Security Fits In! &lt;br /&gt;
&lt;br /&gt;
[[User:Peter Perfetti|'''Peter Perfetti''']]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 13:10 - 14:10 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Lunch - [http://www.tcd.ie/Maps/map.php?q=dining+hall TCD Dining Hall], buffet Lunch&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 1410 - 15:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | '''Keynote: &amp;quot;The changing face of cryptography&amp;quot;''' &lt;br /&gt;
'''''[[User:Professor Fred Piper|Professor Fred Piper]]'''''&amp;lt;i&amp;gt;, BSc, PhD (London), ARCS, DIC, CEng, CMath, FIEE, FIMA, BCS, CISSP, CISM.&amp;lt;/i&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Location: Joly Theatre'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 15:10 - 15:50 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Microsoft's Security Development Lifecycle for Agile Development&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[Nick Coblentz|'''Nick Coblentz''']]&amp;amp;nbsp;AT&amp;amp;amp;T Consulting&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
[[The Real appsec pentest|&amp;quot;The &amp;quot;real&amp;quot; application security pentest.&amp;quot;]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Rory Alsop|'''Rory Alsop''']]&amp;amp;amp; [[Rory McCune|'''Rory McCune''']]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 16:00 - 16:40 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;How to Defend Fragile Web Applications&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[Vinay Bansal, Martin Nystrom|'''Vinay Bansal, Martin Nystrom''']] Cisco systems&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 16:50 - 17:50 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
'''Keynote: &amp;quot;Hackers and Hollywood: The Implications of the Popular &amp;lt;br&amp;gt;Media Representation of Computer Hacking&amp;quot;''' &lt;br /&gt;
&lt;br /&gt;
'''''[[User:Damian Gordon|Damian Gordon]]'''''&amp;lt;i&amp;gt;&amp;amp;nbsp;Phd, School of Computing&amp;amp;nbsp;Dublin Institute of Technology.&amp;lt;/i&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''''Location: Joly Theatre'''''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 17:50 - 18:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Wrap-Up&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 18:00-21:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | OWASP Social Gathering&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Training  =&lt;br /&gt;
&lt;br /&gt;
We intend to hold some application security training on the 16/09/2010 the day prior to the event.&amp;lt;br&amp;gt;This can be booked when booking a ticket to the event.&amp;lt;br&amp;gt;'''Fee: €495''' &lt;br /&gt;
&lt;br /&gt;
== '''Secure Application Development: Writing secure code (and testing it)'''&amp;lt;br&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
'''Trainers''': &lt;br /&gt;
&lt;br /&gt;
[[User:EoinKeary|'''Eoin Keary'''&amp;amp;nbsp;]] Senior Manager, Ernst &amp;amp;amp; Young, OWASP Board Member &lt;br /&gt;
&lt;br /&gt;
'''Rahim Jina''' Senior Consultant, Ernst &amp;amp;amp;&amp;amp;nbsp;Young, OWASP Ireland chapter board. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&amp;lt;br&amp;gt;Writing Secure code is the most effective method to securing your web applications. Writing secure code takes skill and know-how but results in a more stable and robust application and assists in protecting an organisations brand. &lt;br /&gt;
&lt;br /&gt;
Application security is not commonly a part of many computer science curricula today and most organizations have not focused on instituting a culture that includes application security as a core part of their software development training efforts. This intensive one-day course focuses on the most common web application security problems, including aspects of both the OWASP Top Ten (2010) and the MITRE Top 25.&amp;amp;nbsp; The course will introduce and demonstrate application assessment techniques, illustrating how application vulnerabilities can be exploited so students really understand how to avoid introducing such vulnerabilities in their code. &lt;br /&gt;
&lt;br /&gt;
This course includes coverage of the following areas: &lt;br /&gt;
&lt;br /&gt;
*Unvalidated Input &lt;br /&gt;
*Injection Flaws&amp;lt;br&amp;gt;&lt;br /&gt;
*Cross-Site Scriping &lt;br /&gt;
*CSRF &lt;br /&gt;
*Authentication &amp;amp;amp;&amp;amp;nbsp;Session Management &lt;br /&gt;
*Access control &amp;amp;amp; Authorisation &lt;br /&gt;
*Broken Caching &lt;br /&gt;
*Error Handling &lt;br /&gt;
*Cryptography &lt;br /&gt;
*Resource Management &lt;br /&gt;
*Rich Internet Applications &amp;amp;amp;&amp;amp;nbsp;Webservices &lt;br /&gt;
*The Secure SDLC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;'''Hands on''' &lt;br /&gt;
&lt;br /&gt;
To cement the principles discussed, students can participate in a number of hands-on security testing exercises where they attack a live web application (i.e., WebGoat etc) that has been seeded with common web application vulnerabilities. The students will use proxy tools commonly used by the hacker community to complete the exercises. Students need to bring their own windows based laptop to participate in the exercises. &lt;br /&gt;
&lt;br /&gt;
'''Audience''' &lt;br /&gt;
&lt;br /&gt;
Developers who want to understand the most common web application security flaws, and how to avoid them and code in a secure manner &lt;br /&gt;
&lt;br /&gt;
'''Level''' &lt;br /&gt;
&lt;br /&gt;
Intermediate &lt;br /&gt;
&lt;br /&gt;
'''Prerequisite''' &lt;br /&gt;
&lt;br /&gt;
Basic knowledge of a web programming language like Java or .NET recommended but not required. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bringing your own windows based laptop is recommended so you can participate in the hands on exercises. &lt;br /&gt;
&lt;br /&gt;
'''Duration''' &lt;br /&gt;
&lt;br /&gt;
Full day - 8 Hours&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Venue  =&lt;br /&gt;
&lt;br /&gt;
Trinity College, Dublin &amp;lt;br&amp;gt;[http://www.tcd.ie/Maps/map.php?q=hamilton+building Map of hamilton Building Location] &lt;br /&gt;
&lt;br /&gt;
[http://www.tcd.ie/Maps/map.php?q=dining+hall Dining Hall location] &lt;br /&gt;
&lt;br /&gt;
= Transportation  =&lt;br /&gt;
&lt;br /&gt;
=== By Air  ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Fly to Dublin Airport: http://www.dublinairport.com/ &amp;lt;br&amp;gt;A taxi or bus can take you into Dublin city. (€30 - Taxi) (€10 - Bus)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Public Transport  ===&lt;br /&gt;
&lt;br /&gt;
= Accommodation  =&lt;br /&gt;
&lt;br /&gt;
Please see here if you wish to stay within the grounds of Trinity College:&amp;lt;br&amp;gt;http://www.owasp.org/images/2/20/TCD_Tariff_2009.pdf &lt;br /&gt;
&lt;br /&gt;
'''Hotels Surrounding Trinity College:''' &lt;br /&gt;
&lt;br /&gt;
http://maps.google.com/maps?near=Dame+Street,+College+Green,+Dublin+2,+Ireland+(Trinity+College+Campus)&amp;amp;amp;geocode=Cfm6cyTmqt_IFev1LQMdLZCg_yFJu3aKhBD7GA&amp;amp;amp;q=hotels&amp;amp;amp;f=l&amp;amp;amp;dq=Trinity+College+loc:+Dublin+Ireland&amp;amp;amp;sll=53.341482,-6.258302&amp;amp;amp;sspn=0.012043,0.037637&amp;amp;amp;ie=UTF8&amp;amp;amp;ei=U6TMSZSzKpSw2QLG_-CUCA&amp;amp;amp;attrid=1036f063d3d0dafc_&amp;amp;amp;ll=53.343711,-6.254568&amp;amp;amp;spn=0.012042,0.037637&amp;amp;amp;z=15 &lt;br /&gt;
&lt;br /&gt;
= Registration  =&lt;br /&gt;
&lt;br /&gt;
'''The fee for this conference is&amp;amp;nbsp;:&amp;lt;br&amp;gt;'''''Standard''': €150 Euro &amp;lt;br&amp;gt;'''OWASP Members''': €100 Euro &lt;br /&gt;
&lt;br /&gt;
'''Training: '''€495&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;'''Membership of OWASP is not required to attend the event.'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note''': To save on processing expenses, all fees paid for the OWASP conference are non-refundable. OWASP can accommodate transfers of registrations from one person to another, if such an adjustment becomes necessary. &lt;br /&gt;
&lt;br /&gt;
'''Cvent Registration Link: [http://guest.cvent.com/i.aspx?4W%2cM3%2c679c382d-35c2-4815-a399-c2c3a95ebfd7 Click-Here]''' &lt;br /&gt;
&lt;br /&gt;
= Conference Committee  =&lt;br /&gt;
&lt;br /&gt;
'''2010 Ireland Planning Committee Chair''': &lt;br /&gt;
&lt;br /&gt;
Eoin Keary -&amp;amp;nbsp;eoin.keary 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fabio Cerullo&amp;amp;nbsp; - fcerullo 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
Rahim Jina - rahim.jina 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
= Call for Papers  =&lt;br /&gt;
&lt;br /&gt;
The Conference will consist of two tracks covering both technical and risk management topics. &lt;br /&gt;
&lt;br /&gt;
'''We are seeking presentations on any of the following topics:''' &lt;br /&gt;
&lt;br /&gt;
*Web Services and Application Security &lt;br /&gt;
*Common Application related Threats and Risks &lt;br /&gt;
*Business Risks with Application Security &lt;br /&gt;
*Vulnerability Research in Application Security &lt;br /&gt;
*Web Application Penetration Testing &lt;br /&gt;
*OWASP Tools and Projects &lt;br /&gt;
*Secure Coding/Development Practices &lt;br /&gt;
*Technology specific presentations on security such as AJAX, XML, etc. &lt;br /&gt;
*Anything else relating to OWASP and Application Security.&lt;br /&gt;
&lt;br /&gt;
The call for papers/presentations is out. The official closing date for receiving a synopsis of the presentation is June 10th, 2010. Announcements on selected candidates will be provided the first week of July 2010. Complete presentations will need to be submitted by the 2nd of August 2010. &lt;br /&gt;
&lt;br /&gt;
All presenters will receive free invitation to the conference, food and refreshments. &lt;br /&gt;
&lt;br /&gt;
'''For some speakers, OWASP will cover some of the travel costs associated with coming to the conference.''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Please submit your presentation topics and an abstract of up to 500 words to Eoin Keary''' &amp;amp;lt;mailto: Eoin.keary@owasp.org&amp;amp;gt;&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=User:RyanBerg&amp;diff=86485</id>
		<title>User:RyanBerg</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=User:RyanBerg&amp;diff=86485"/>
				<updated>2010-07-15T12:33:42Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: Created page with 'Ryan Berg, Senior Architect Security Research, IBM.  Ryan Berg was a Co-Founder and Chief Scientist for Ounce Labs prior to its' acquisition by IBM in 2009. In addition to advanc…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ryan Berg, Senior Architect Security Research, IBM.&lt;br /&gt;
&lt;br /&gt;
Ryan Berg was a Co-Founder and Chief Scientist for Ounce Labs prior to its'&lt;br /&gt;
acquisition by IBM in 2009. In addition to advancing the state of the art&lt;br /&gt;
in application security technologies, Ryan is also a popular speaker,&lt;br /&gt;
instructor, and author, in the fields of security, risk management, and&lt;br /&gt;
secure development processes.  He holds patents and has patents pending in&lt;br /&gt;
multi-language security assessment, kernel-level security, intermediary&lt;br /&gt;
security assessment language, and secure remote communication protocols.&lt;br /&gt;
Prior to Ounce, Ryan co-founded Qiave Technologies, a pioneer in&lt;br /&gt;
kernel-level security, which later sold to WatchGuard Technologies in&lt;br /&gt;
October of 2000.  In the late 1990’s, Ryan also designed and developed the&lt;br /&gt;
infrastructure for GTE Internetworking/Genuity’s appliance-based managed&lt;br /&gt;
firewall and security services.&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_IRELAND_2010&amp;diff=86484</id>
		<title>OWASP IRELAND 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_IRELAND_2010&amp;diff=86484"/>
				<updated>2010-07-15T12:32:41Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Dublin2010.gif]]&amp;amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welcome to the Irish OWASP Application Security Conference!&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its Ireland's turn again&amp;amp;nbsp;on '''September 17, 2010''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''September 17th 2010''': OWASP will hold its second Irish Application Security conference in&amp;amp;nbsp;Dublin University, Trinity College, Dublin, Ireland. &lt;br /&gt;
&lt;br /&gt;
The conference consists of an intensive day of talks/presentations and discussion with 2 different tracks focusing on the causes and trends in web application insecurity. &lt;br /&gt;
&lt;br /&gt;
'''[http://www.owasp.org/index.php/OWASP_IRELAND_2010#Training Training]: (16th September 2010)'''&amp;lt;br&amp;gt;'''''Secure Application Development: Writing secure code (and testing it)''''' training is to be delivered on the 16 September, following the very successful model delivered in 2009 (see more details below) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more details please contact: Eoin.Keary 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
== Conference Location  ==&lt;br /&gt;
&lt;br /&gt;
[[Image:AppSecIreland09 Dublin.JPG|www.tcd.ie]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Event Sponsorship  ==&lt;br /&gt;
&lt;br /&gt;
OWASP is providing sponsors exclusive access to its audience in Dublin, Ireland through a limited number of Expo floor slots, providing a focused setting for potential customers. The conference is expected to draw 150 - 200 technologists who will be looking for ways to spend their remaining 2010 budget and planning for 2010/11. Financial Services, Media, Pharmaceuticals, Government, Healthcare, Technology, and many other verticals will be represented. &amp;lt;br&amp;gt;Sponsorship details are available here:&amp;amp;nbsp; Please review or sponsorship proposal:&amp;amp;nbsp;[http://www.owasp.org/images/c/c8/OWASP_sponsorship_Master.pdf Click_here] &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
=== Sponsors  ===&lt;br /&gt;
&lt;br /&gt;
'''Silver Sponsors''' &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Image:Cenzic small 2.GIF]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''CENZIC''' - Cenzic provides software and SaaS solutions for dynamic, black box testing of Web applications to protect Websites against hacker attacks.Built from the ground up on a completely different technology backbone than its competitors, Cenzic goes beyond signature-based tools to find more &amp;quot;real&amp;quot; vulnerabilities. To request a free demo please visit http://www.cenzic.com &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&amp;lt;center&amp;gt;[[Image:Veracode logo 2color small.JPG]]&amp;lt;/center&amp;gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''Veracode''' is the world’s leader in cloud-based application risk management. With patented binary code analysis, dynamic Web assessments, and partner or Veracode-delivered manual penetration testing, combined with developer e-learning and access to open source security ratings, Veracode SecurityReview® allows customers to independently verify application security in both internally developed applications and third-party software without requiring source code or expensive tools. Veracode provides the most simple, complete and accurate way to implement security best practices, reduce operational cost and comply with internal security policies or external standards such as OWASP Top 10, CWE/SANS Top 25 and PCI. Veracode works with global organizations across multiple vertical industries including Barclays PLC, California Public Employees’ Retirement System (CalPERS), Computershare, and the Federal Aviation Administration (FAA). For more information, visit www.veracode.com http://www.veracode.com/ &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:FORTIFY_LOGO_MED.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
'''Fortify® Software''' is the leader in the emerging category of Software Security Assurance (SSA). Fortify's SSA products and services protect companies from the threats posed by security flaws in business-critical software applications and result in applications that are inherently more secure and impervious to attack. Our solutions help identify and resolve critical application vulnerabilities in less time and at lower cost. http://www.fortify.com&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Supported by  ===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Image:Irisss small.jpg]] [[Image:IISF.jpg]] [[Image:Iia-logo-small.jpg]][[Image:DG horiz col.gif]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
== Agenda and Presentations - September 17  ==&lt;br /&gt;
&lt;br /&gt;
The agenda follows the successful OWASP conference two tracks format, with opening keynotes and presentations in the main auditorium, split tracks in the middle of the day, and closing pannel discussions back in the main auditorium both days. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot; style=&amp;quot;width: 80%&amp;quot; align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; colspan=&amp;quot;3&amp;quot; | [http://www.tcd.ie/Maps/map.php?q=hamilton+building Hamilton Building, TCD] - September 17, 2010&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; | Track 1: Synge Theatre &lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; | Track 2: Salmon Theatre&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 08:00-09:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Registration and Coffee&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 09:00 - 09:10 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | Welcome to OWASP Ireland 2010 Conference &lt;br /&gt;
'''''[[User:EoinKeary|Eoin Keary]], [http://ie.linkedin.com/in/fcerullo Fabio Cerullo] &amp;amp;amp; Rahim Jina'''&amp;amp;nbsp;&amp;lt;br&amp;gt;'''OWASP Ireland Board''''' &amp;lt;br&amp;gt;'''Location: Joly Theatre'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 09:15 - 10:15 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | '''Keynote: &amp;quot;Application Security in the Real World&amp;quot;''' - Considerations for AppSec in non-security companies. &lt;br /&gt;
'''''[[John Viega|John Viega&amp;amp;nbsp;]]&amp;amp;nbsp;'''''Executive Vice President, Perimeter E-Security &lt;br /&gt;
&lt;br /&gt;
'''Location: Joly Theatre'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 10:20 - 10:40 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
OWASP &amp;quot;State of the Nation&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[User:EoinKeary|'''Eoin Keary''']]&amp;amp;amp;&amp;amp;nbsp;[[User:Dinis Cruz|'''Dinis Cruz''']] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;sub&amp;gt;''OWASP Global board members''&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 10:45 - 11:10 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Break - Expo&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 11:10 -&amp;amp;nbsp;11:45 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Testing the Enterprise E-mail Security - from Software to Cloud-based Services&amp;quot;&amp;lt;br&amp;gt;[[User:Dr. Marian Ventuneac|'''Dr. Marian Ventuneac''']]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Setting up a Security Development Lifecycle for the first time&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[User:SebastienGioria|'''Sébastien Gioria''']]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 11:50 - 12:30 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;The Evolution of Security Testing: Testing the Resiliency of Security&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[David Stubley|'''David Stubley''']] (GIAC)&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Path to a Secure Application&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;[[User:RyanBerg|'''Ryan Berg''']]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 12:40 - 13:10 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Smart Phones with Dumb Apps&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[Dan Cornell|'''Dan Cornell''']]&amp;amp;nbsp; Principal of [http://www.denimgroup.com Denim Group], Ltd.&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Technology and Business Risk Management: How Application Security Fits In! &lt;br /&gt;
&lt;br /&gt;
[[User:Peter Perfetti|'''Peter Perfetti''']]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 13:10 - 14:10 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Lunch - [http://www.tcd.ie/Maps/map.php?q=dining+hall TCD Dining Hall], buffet Lunch&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 1410 - 15:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | '''Keynote: &amp;quot;The changing face of cryptography&amp;quot;''' &lt;br /&gt;
'''''[[User:Professor Fred Piper|Professor Fred Piper]]'''''&amp;lt;i&amp;gt;, BSc, PhD (London), ARCS, DIC, CEng, CMath, FIEE, FIMA, BCS, CISSP, CISM.&amp;lt;/i&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Location: Joly Theatre'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 15:10 - 15:50 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;Microsoft's Security Development Lifecycle for Agile Development&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[Nick Coblentz|'''Nick Coblentz''']]&amp;amp;nbsp;AT&amp;amp;amp;T Consulting&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
[[The Real appsec pentest|&amp;quot;The &amp;quot;real&amp;quot; application security pentest.&amp;quot;]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Rory Alsop|'''Rory Alsop''']]&amp;amp;amp; [[Rory McCune|'''Rory McCune''']]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 16:00 - 16:40 &lt;br /&gt;
| style=&amp;quot;background: #bc857a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;quot;How to Defend Fragile Web Applications&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[Vinay Bansal, Martin Nystrom|'''Vinay Bansal, Martin Nystrom''']] Cisco systems&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background: #bca57a; width: 40%&amp;quot; align=&amp;quot;left&amp;quot; | &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 16:50 - 17:50 &lt;br /&gt;
| style=&amp;quot;background: #f2f2f2; width: 80%&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
'''Keynote: &amp;quot;Hackers and Hollywood: The Implications of the Popular &amp;lt;br&amp;gt;Media Representation of Computer Hacking&amp;quot;''' &lt;br /&gt;
&lt;br /&gt;
'''''[[User:Damian Gordon|Damian Gordon]]'''''&amp;lt;i&amp;gt;&amp;amp;nbsp;Phd, School of Computing&amp;amp;nbsp;Dublin Institute of Technology.&amp;lt;/i&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''''Location: Joly Theatre'''''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 17:50 - 18:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | Wrap-Up&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #7b8abd; width: 10%&amp;quot; | 18:00-21:00 &lt;br /&gt;
| style=&amp;quot;background: #c2c2c2; width: 80%&amp;quot; align=&amp;quot;left&amp;quot; colspan=&amp;quot;2&amp;quot; | OWASP Social Gathering&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Training  =&lt;br /&gt;
&lt;br /&gt;
We intend to hold some application security training on the 16/09/2010 the day prior to the event.&amp;lt;br&amp;gt;This can be booked when booking a ticket to the event.&amp;lt;br&amp;gt;'''Fee: €495''' &lt;br /&gt;
&lt;br /&gt;
== '''Secure Application Development: Writing secure code (and testing it)'''&amp;lt;br&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
'''Trainers''': &lt;br /&gt;
&lt;br /&gt;
[[User:EoinKeary|'''Eoin Keary'''&amp;amp;nbsp;]] Senior Manager, Ernst &amp;amp;amp; Young, OWASP Board Member &lt;br /&gt;
&lt;br /&gt;
'''Rahim Jina''' Senior Consultant, Ernst &amp;amp;amp;&amp;amp;nbsp;Young, OWASP Ireland chapter board. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Abstract'''&amp;lt;br&amp;gt;Writing Secure code is the most effective method to securing your web applications. Writing secure code takes skill and know-how but results in a more stable and robust application and assists in protecting an organisations brand. &lt;br /&gt;
&lt;br /&gt;
Application security is not commonly a part of many computer science curricula today and most organizations have not focused on instituting a culture that includes application security as a core part of their software development training efforts. This intensive one-day course focuses on the most common web application security problems, including aspects of both the OWASP Top Ten (2010) and the MITRE Top 25.&amp;amp;nbsp; The course will introduce and demonstrate application assessment techniques, illustrating how application vulnerabilities can be exploited so students really understand how to avoid introducing such vulnerabilities in their code. &lt;br /&gt;
&lt;br /&gt;
This course includes coverage of the following areas: &lt;br /&gt;
&lt;br /&gt;
*Unvalidated Input &lt;br /&gt;
*Injection Flaws&amp;lt;br&amp;gt;&lt;br /&gt;
*Cross-Site Scriping &lt;br /&gt;
*CSRF &lt;br /&gt;
*Authentication &amp;amp;amp;&amp;amp;nbsp;Session Management &lt;br /&gt;
*Access control &amp;amp;amp; Authorisation &lt;br /&gt;
*Broken Caching &lt;br /&gt;
*Error Handling &lt;br /&gt;
*Cryptography &lt;br /&gt;
*Resource Management &lt;br /&gt;
*Rich Internet Applications &amp;amp;amp;&amp;amp;nbsp;Webservices &lt;br /&gt;
*The Secure SDLC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;'''Hands on''' &lt;br /&gt;
&lt;br /&gt;
To cement the principles discussed, students can participate in a number of hands-on security testing exercises where they attack a live web application (i.e., WebGoat etc) that has been seeded with common web application vulnerabilities. The students will use proxy tools commonly used by the hacker community to complete the exercises. Students need to bring their own windows based laptop to participate in the exercises. &lt;br /&gt;
&lt;br /&gt;
'''Audience''' &lt;br /&gt;
&lt;br /&gt;
Developers who want to understand the most common web application security flaws, and how to avoid them and code in a secure manner &lt;br /&gt;
&lt;br /&gt;
'''Level''' &lt;br /&gt;
&lt;br /&gt;
Intermediate &lt;br /&gt;
&lt;br /&gt;
'''Prerequisite''' &lt;br /&gt;
&lt;br /&gt;
Basic knowledge of a web programming language like Java or .NET recommended but not required. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bringing your own windows based laptop is recommended so you can participate in the hands on exercises. &lt;br /&gt;
&lt;br /&gt;
'''Duration''' &lt;br /&gt;
&lt;br /&gt;
Full day - 8 Hours&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Venue  =&lt;br /&gt;
&lt;br /&gt;
Trinity College, Dublin &amp;lt;br&amp;gt;[http://www.tcd.ie/Maps/map.php?q=hamilton+building Map of hamilton Building Location] &lt;br /&gt;
&lt;br /&gt;
[http://www.tcd.ie/Maps/map.php?q=dining+hall Dining Hall location] &lt;br /&gt;
&lt;br /&gt;
= Transportation  =&lt;br /&gt;
&lt;br /&gt;
=== By Air  ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Fly to Dublin Airport: http://www.dublinairport.com/ &amp;lt;br&amp;gt;A taxi or bus can take you into Dublin city. (€30 - Taxi) (€10 - Bus)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Public Transport  ===&lt;br /&gt;
&lt;br /&gt;
= Accommodation  =&lt;br /&gt;
&lt;br /&gt;
Please see here if you wish to stay within the grounds of Trinity College:&amp;lt;br&amp;gt;http://www.owasp.org/images/2/20/TCD_Tariff_2009.pdf &lt;br /&gt;
&lt;br /&gt;
'''Hotels Surrounding Trinity College:''' &lt;br /&gt;
&lt;br /&gt;
http://maps.google.com/maps?near=Dame+Street,+College+Green,+Dublin+2,+Ireland+(Trinity+College+Campus)&amp;amp;amp;geocode=Cfm6cyTmqt_IFev1LQMdLZCg_yFJu3aKhBD7GA&amp;amp;amp;q=hotels&amp;amp;amp;f=l&amp;amp;amp;dq=Trinity+College+loc:+Dublin+Ireland&amp;amp;amp;sll=53.341482,-6.258302&amp;amp;amp;sspn=0.012043,0.037637&amp;amp;amp;ie=UTF8&amp;amp;amp;ei=U6TMSZSzKpSw2QLG_-CUCA&amp;amp;amp;attrid=1036f063d3d0dafc_&amp;amp;amp;ll=53.343711,-6.254568&amp;amp;amp;spn=0.012042,0.037637&amp;amp;amp;z=15 &lt;br /&gt;
&lt;br /&gt;
= Registration  =&lt;br /&gt;
&lt;br /&gt;
'''The fee for this conference is&amp;amp;nbsp;:&amp;lt;br&amp;gt;'''''Standard''': €150 Euro &amp;lt;br&amp;gt;'''OWASP Members''': €100 Euro &lt;br /&gt;
&lt;br /&gt;
'''Training: '''€495&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;'''Membership of OWASP is not required to attend the event.'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note''': To save on processing expenses, all fees paid for the OWASP conference are non-refundable. OWASP can accommodate transfers of registrations from one person to another, if such an adjustment becomes necessary. &lt;br /&gt;
&lt;br /&gt;
'''Cvent Registration Link: [http://guest.cvent.com/i.aspx?4W%2cM3%2c679c382d-35c2-4815-a399-c2c3a95ebfd7 Click-Here]''' &lt;br /&gt;
&lt;br /&gt;
= Conference Committee  =&lt;br /&gt;
&lt;br /&gt;
'''2010 Ireland Planning Committee Chair''': &lt;br /&gt;
&lt;br /&gt;
Eoin Keary -&amp;amp;nbsp;eoin.keary 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fabio Cerullo&amp;amp;nbsp; - fcerullo 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
Rahim Jina - rahim.jina 'at' owasp.org &lt;br /&gt;
&lt;br /&gt;
= Call for Papers  =&lt;br /&gt;
&lt;br /&gt;
The Conference will consist of two tracks covering both technical and risk management topics. &lt;br /&gt;
&lt;br /&gt;
'''We are seeking presentations on any of the following topics:''' &lt;br /&gt;
&lt;br /&gt;
*Web Services and Application Security &lt;br /&gt;
*Common Application related Threats and Risks &lt;br /&gt;
*Business Risks with Application Security &lt;br /&gt;
*Vulnerability Research in Application Security &lt;br /&gt;
*Web Application Penetration Testing &lt;br /&gt;
*OWASP Tools and Projects &lt;br /&gt;
*Secure Coding/Development Practices &lt;br /&gt;
*Technology specific presentations on security such as AJAX, XML, etc. &lt;br /&gt;
*Anything else relating to OWASP and Application Security.&lt;br /&gt;
&lt;br /&gt;
The call for papers/presentations is out. The official closing date for receiving a synopsis of the presentation is June 10th, 2010. Announcements on selected candidates will be provided the first week of July 2010. Complete presentations will need to be submitted by the 2nd of August 2010. &lt;br /&gt;
&lt;br /&gt;
All presenters will receive free invitation to the conference, food and refreshments. &lt;br /&gt;
&lt;br /&gt;
'''For some speakers, OWASP will cover some of the travel costs associated with coming to the conference.''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Please submit your presentation topics and an abstract of up to 500 words to Eoin Keary''' &amp;amp;lt;mailto: Eoin.keary@owasp.org&amp;amp;gt;&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Summer_of_Code_2008_Projects_Authors_Status_Target_and_Reviewers_Rahim_Jina_Curriculum&amp;diff=80904</id>
		<title>OWASP Summer of Code 2008 Projects Authors Status Target and Reviewers Rahim Jina Curriculum</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Summer_of_Code_2008_Projects_Authors_Status_Target_and_Reviewers_Rahim_Jina_Curriculum&amp;diff=80904"/>
				<updated>2010-04-03T22:18:16Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Rahim Jina =&lt;br /&gt;
* Rahim graduated in 2002 from Trinity College Dublin, with a degree in Information &amp;amp; Communications Technology, specialising in Computer Security &amp;amp; Mobile Communications. In 2006, Rahim completed an MSc in Security &amp;amp; Forensic Computing from Dublin City University. &lt;br /&gt;
* Rahim joined Ernst &amp;amp; Young's Risk Advisory Services in September 2006 and is now a senior IT security consultant.&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Project_Information:template_Code_Review_Project&amp;diff=47494</id>
		<title>Project Information:template Code Review Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Project_Information:template_Code_Review_Project&amp;diff=47494"/>
				<updated>2008-12-03T17:03:37Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width:100%&amp;quot; border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! colspan=&amp;quot;7&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background:#4058A0; color:white&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''PROJECT IDENTIFICATION''' &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;|'''Project Name'''&lt;br /&gt;
 | colspan=&amp;quot;6&amp;quot; style=&amp;quot;width:85%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&amp;lt;font color=&amp;quot;black&amp;quot;&amp;gt;'''OWASP Code Review Project V1.1''' &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| '''Short Project Description''' &lt;br /&gt;
 | colspan=&amp;quot;6&amp;quot; style=&amp;quot;width:85%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|The code review guide is currently at version RC 2.0 and the second best selling OWASP book. I have received many positive comments regarding this initial version and believe it’s a key enabler for the OWASP fight against software insecurity. It has even inspired individuals to build tools based on its information and I have convinced such people (Alessio Marziali) to open source their tool and make it an OWASP project. The combination of a book on secure code review and a tool to support such an activity is very powerful as it gives the developer community a place to start regarding secure application development. Proposal: I am proposing that I improve the code review guide from a number of aspects. This should place the guide as a de facto secure code review guide in the application security industry.  &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;|'''Email Contacts'''&lt;br /&gt;
 | style=&amp;quot;width:14%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Project Leader&amp;lt;br&amp;gt;[mailto:eoin.keary(at)owasp.org '''Eoin Keary''']&lt;br /&gt;
 | style=&amp;quot;width:14%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Project Contributors&amp;lt;br&amp;gt;(if applicable)&amp;lt;br&amp;gt;[mailto:to(at)change '''Name&amp;amp;Email''']&lt;br /&gt;
 | style=&amp;quot;width:14%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|[https://lists.owasp.org/mailman/listinfo/owasp-codereview '''Mailing List/Subscribe''']&lt;br /&gt;
[mailto:owasp-codereview(at)lists.owasp.org '''Mailing List/Use''']&lt;br /&gt;
 | style=&amp;quot;width:14%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|First Reviewer&amp;lt;br&amp;gt;[mailto:rahim.jina(at)ie.ey.com '''Rahim Jina''']&amp;lt;br&amp;gt;[[OWASP Summer of Code 2008 Projects Authors Status Target and Reviewers Rahim Jina Curriculum|Curriculum]]&lt;br /&gt;
 | style=&amp;quot;width:14%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Second Reviewer&amp;lt;br&amp;gt;[mailto:psatishkumar(at)gmail.com '''P.Satish Kumar''']&amp;lt;br&amp;gt;[[OWASP Summer of Code 2008 Projects Authors Status Target and Reviewers Rahim Jina Curriculum|Curriculum]]&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|OWASP Board Member&amp;lt;br&amp;gt;[mailto:jeff.williams(at)owasp.org '''Jeff Williams''']&lt;br /&gt;
 |}&lt;br /&gt;
{| style=&amp;quot;width:100%&amp;quot; border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! colspan=&amp;quot;6&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background:#4058A0; color:white&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''PROJECT MAIN LINKS''' &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:100%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
* [https://www.owasp.org/images/5/59/Code_Review_Eoin.pptx OWASP Code Review's PowerPoint Presentation]&lt;br /&gt;
* [[:OWASP Code Review Guide Table of Contents|Code Review Guide Table of Contents]]&amp;lt;br&amp;gt;&lt;br /&gt;
* [http://www.lulu.com/content/1415989  Code Review Guide (RC2) Book]&amp;lt;br&amp;gt;&lt;br /&gt;
* (If appropriate, links to be added)&lt;br /&gt;
 |}&lt;br /&gt;
{| style=&amp;quot;width:100%&amp;quot; border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! colspan=&amp;quot;6&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background:#4058A0; color:white&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''RELATED PROJECTS''' &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:100%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
* [http://www.cyphersec.com/software_archive/CodeCrawler.rar OWASP Code Crawler Project]&amp;lt;br&amp;gt;&lt;br /&gt;
* [http://www.owasp.org/index.php/Category:OWASP_Orizon_Project OWASP Orizon Project]&lt;br /&gt;
 |}&lt;br /&gt;
{| style=&amp;quot;width:100%&amp;quot; border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! colspan=&amp;quot;6&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background:#4058A0; color:white&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''SPONSORS &amp;amp; GUIDELINES''' &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:50%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|[[OWASP Summer of Code 2008|Sponsor - '''OWASP Summer of Code 2008''']] &lt;br /&gt;
 | style=&amp;quot;width:50%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|[[OWASP Summer of Code 2008 Applications#OWASP Code review guide, V1.1|'''Sponsored Project/Guidelines/Roadmap''']]&lt;br /&gt;
 |}&lt;br /&gt;
{| style=&amp;quot;width:100%&amp;quot; border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! colspan=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background:#4058A0; color:white&amp;quot;|ASSESSMENT AND REVIEW PROCESS&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#6C82B5&amp;quot; align=&amp;quot;center&amp;quot;|'''Review/Reviewer''' &lt;br /&gt;
 | style=&amp;quot;width:21%; background:#b3b3b3&amp;quot; align=&amp;quot;center&amp;quot;|'''Author's Self Evaluation'''&amp;lt;br&amp;gt;(applicable for Alpha Quality &amp;amp; further) &lt;br /&gt;
 | style=&amp;quot;width:21%; background:#b3b3b3&amp;quot; align=&amp;quot;center&amp;quot;|'''First Reviewer'''&amp;lt;br&amp;gt;(applicable for Alpha Quality &amp;amp; further)&lt;br /&gt;
 | style=&amp;quot;width:21%; background:#b3b3b3&amp;quot; align=&amp;quot;center&amp;quot;|'''Second Reviewer'''&amp;lt;br&amp;gt;(applicable for Beta Quality &amp;amp; further)&lt;br /&gt;
 | style=&amp;quot;width:22%; background:#b3b3b3&amp;quot; align=&amp;quot;center&amp;quot;|'''OWASP Board Member'''&amp;lt;br&amp;gt;(applicable just for Release Quality) &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;|'''50% Review''' &lt;br /&gt;
 | style=&amp;quot;width:21%; background:#C2C2C2&amp;quot; align=&amp;quot;center&amp;quot;|Objectives &amp;amp; Deliveries reached?&amp;lt;br&amp;gt;'''Yes''' (To update)&amp;lt;br&amp;gt;---------&amp;lt;br&amp;gt;[[Project Information:template Code Review Project - 50 Review - Self Evaluation - A|See&amp;amp;Edit:50% Review/Self-Evaluation (A)]]&lt;br /&gt;
 | style=&amp;quot;width:21%; background:#C2C2C2&amp;quot; align=&amp;quot;center&amp;quot;|Objectives &amp;amp; Deliveries reached?&amp;lt;br&amp;gt;'''Yes'''&amp;lt;br&amp;gt;---------&amp;lt;br&amp;gt;[[Project Information:template Code Review Project - 50 Review - First Reviewer - C|See&amp;amp;Edit: 50% Review/1st Reviewer (C)]]&lt;br /&gt;
 | style=&amp;quot;width:21%; background:#C2C2C2&amp;quot; align=&amp;quot;center&amp;quot;|Objectives &amp;amp; Deliveries reached?&amp;lt;br&amp;gt;'''Yes'''&amp;lt;br&amp;gt;---------&amp;lt;br&amp;gt;[[Project Information:template Code Review Project 50 Review Second Review E|See&amp;amp;Edit: 50%Review/2nd Reviewer (E)]]&lt;br /&gt;
 | style=&amp;quot;width:22%; background:#C2C2C2&amp;quot; align=&amp;quot;center&amp;quot;|X &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;|'''Final Review''' &lt;br /&gt;
 | style=&amp;quot;width:21%; background:#C2C2C2&amp;quot; align=&amp;quot;center&amp;quot;|Objectives &amp;amp; Deliveries reached?&amp;lt;br&amp;gt;'''Yes/No''' (To update)&amp;lt;br&amp;gt;---------&amp;lt;br&amp;gt;Which status has been reached?&amp;lt;br&amp;gt;'''Season of Code''' - (To update)&amp;lt;br&amp;gt;---------&amp;lt;br&amp;gt;[[Project Information:template Code Review Project - Final Review - Self Evaluation - B|See&amp;amp;Edit: Final Review/SelfEvaluation (B)]]&lt;br /&gt;
 | style=&amp;quot;width:21%; background:#C2C2C2&amp;quot; align=&amp;quot;center&amp;quot;|Objectives &amp;amp; Deliveries reached?&amp;lt;br&amp;gt;'''Yes'''&amp;lt;br&amp;gt;---------&amp;lt;br&amp;gt;Which status has been reached?&amp;lt;br&amp;gt;'''Release'''&amp;lt;br&amp;gt;'''Season of Code - 2008'''&amp;lt;br&amp;gt;---------&amp;lt;br&amp;gt;[[Project Information:template Code Review Project - Final Review - First Reviewer - D|See&amp;amp;Edit: Final Review/1st Reviewer (D)]]&lt;br /&gt;
 | style=&amp;quot;width:21%; background:#C2C2C2&amp;quot; align=&amp;quot;center&amp;quot;|Objectives &amp;amp; Deliveries reached?&amp;lt;br&amp;gt;'''Yes'''&amp;lt;br&amp;gt;---------&amp;lt;br&amp;gt;Which status has been reached?&amp;lt;br&amp;gt;'''Season of Code''' - (To update)&amp;lt;br&amp;gt;---------&amp;lt;br&amp;gt;[[Project Information:template Code Review Project - Final Review - Second Reviewer - F|See&amp;amp;Edit: Final Review/2nd Reviewer (F)]]&lt;br /&gt;
 | style=&amp;quot;width:22%; background:#C2C2C2&amp;quot; align=&amp;quot;center&amp;quot;|Objectives &amp;amp; Deliveries reached?&amp;lt;br&amp;gt;'''Yes/No''' (To update)&amp;lt;br&amp;gt;---------&amp;lt;br&amp;gt;Which status has been reached?&amp;lt;br&amp;gt;'''Season of Code''' - (To update)&amp;lt;br&amp;gt;---------&amp;lt;br&amp;gt;[[Project Information:template Code Review Project - Final Review - OWASP Board Member - G|See/Edit: Final Review/Board Member (G)]]&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Project_Information:template_Code_Review_Project_-_Final_Review_-_First_Reviewer_-_D&amp;diff=47493</id>
		<title>Project Information:template Code Review Project - Final Review - First Reviewer - D</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Project_Information:template_Code_Review_Project_-_Final_Review_-_First_Reviewer_-_D&amp;diff=47493"/>
				<updated>2008-12-03T17:00:06Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Project Information:template Code Review Project|Clik here to return to the previous page]].&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%&amp;quot; border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background:#4058A0; color:white&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''FINAL REVIEW''' &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:white&amp;quot; align=&amp;quot;center&amp;quot;|'''PART I''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:white&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
Project Deliveries &amp;amp; Objectives  &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
[[OWASP Summer of Code 2008 Applications#OWASP Code review guide, V1.1|OWASP Code Review Guide V1.1 Project's Deliveries &amp;amp; Objectives]]&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#4058A0&amp;quot; align=&amp;quot;center&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''QUESTIONS''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#4058A0&amp;quot; align=&amp;quot;left&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''ANSWERS'''  &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
1. At what extent have the project deliveries &amp;amp; objectives been accomplished?  Having in consideration [[OWASP Summer of Code 2008 Applications#OWASP Code review guide, V1.1|'''the assumed ones''']], please exemplify writing down those of them that haven't been realised.&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;| Code review guide has now achieved release quality. All objectives have been accomplished.&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
2. At what extent have the project deliveries &amp;amp; objectives been accomplished?  Having in consideration [[OWASP Summer of Code 2008 Applications#OWASP Code review guide, V1.1|'''the assumed ones''']], please quantify in terms of percentage.&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;| The guide is now 100% complete&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
3. Please do use the right hand side column to provide advice and make work suggestions.&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;| Review points and comments have been provided directly to the author/editor.&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:white&amp;quot; align=&amp;quot;center&amp;quot;|'''PART II''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:white&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
Assessment Criteria&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
[[:Category:OWASP Project Assessment|OWASP Project Assessment Criteria]]&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#4058A0&amp;quot; align=&amp;quot;center&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''QUESTIONS''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#4058A0&amp;quot; align=&amp;quot;left&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''ANSWERS'''  &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
1. Having into consideration the [[:Category:OWASP Project Assessment|OWASP Project Assessment Methodology]] which criteria, if any, haven’t been fulfilled in terms of '''Alpha Quality''' status?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;| Alpha Quality status reached.&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
2. Having into consideration the [[:Category:OWASP Project Assessment|OWASP Project Assessment Methodology]] which criteria, if any, haven’t been fulfilled in terms of '''Beta Quality''' status?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;| Beta Quality status reached.&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
3. Having into consideration the [[:Category:OWASP Project Assessment|OWASP Project Assessment Methodology]] which criteria, if any, haven’t been fulfilled in terms of '''Release Quality''' status?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;| Release Quality status reached.&lt;br /&gt;
 |-  &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
4. Please do use the right hand side column to provide advice and make work suggestions.&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;| N/A&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Project_Information:template_Code_Review_Project_-_Final_Review_-_First_Reviewer_-_D&amp;diff=45534</id>
		<title>Project Information:template Code Review Project - Final Review - First Reviewer - D</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Project_Information:template_Code_Review_Project_-_Final_Review_-_First_Reviewer_-_D&amp;diff=45534"/>
				<updated>2008-11-02T20:36:06Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Project Information:template Code Review Project|Clik here to return to the previous page]].&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%&amp;quot; border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background:#4058A0; color:white&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''FINAL REVIEW''' &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:white&amp;quot; align=&amp;quot;center&amp;quot;|'''PART I''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:white&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
Project Deliveries &amp;amp; Objectives  &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
[[OWASP Summer of Code 2008 Applications#OWASP Code review guide, V1.1|OWASP Code Review Guide V1.1 Project's Deliveries &amp;amp; Objectives]]&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#4058A0&amp;quot; align=&amp;quot;center&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''QUESTIONS''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#4058A0&amp;quot; align=&amp;quot;left&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''ANSWERS'''  &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
1. At what extent have the project deliveries &amp;amp; objectives been accomplished?  Having in consideration [[OWASP Summer of Code 2008 Applications#OWASP Code review guide, V1.1|'''the assumed ones''']], please exemplify writing down those of them that haven't been realised.&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;| Code review guide has now achieved release quality. All objectives have been accomplished.&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
2. At what extent have the project deliveries &amp;amp; objectives been accomplished?  Having in consideration [[OWASP Summer of Code 2008 Applications#OWASP Code review guide, V1.1|'''the assumed ones''']], please quantify in terms of percentage.&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;| The guide is 99.5% complete (.5% for final corrections and formatting issues)&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
3. Please do use the right hand side column to provide advice and make work suggestions.&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;| Review points and comments have been provided directly to the author/editor.&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:white&amp;quot; align=&amp;quot;center&amp;quot;|'''PART II''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:white&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
Assessment Criteria&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
[[:Category:OWASP Project Assessment|OWASP Project Assessment Criteria]]&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#4058A0&amp;quot; align=&amp;quot;center&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''QUESTIONS''' &lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#4058A0&amp;quot; align=&amp;quot;left&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''ANSWERS'''  &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
1. Having into consideration the [[:Category:OWASP Project Assessment|OWASP Project Assessment Methodology]] which criteria, if any, haven’t been fulfilled in terms of '''Alpha Quality''' status?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
2. Having into consideration the [[:Category:OWASP Project Assessment|OWASP Project Assessment Methodology]] which criteria, if any, haven’t been fulfilled in terms of '''Beta Quality''' status?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
3. Having into consideration the [[:Category:OWASP Project Assessment|OWASP Project Assessment Methodology]] which criteria, if any, haven’t been fulfilled in terms of '''Release Quality''' status?&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
 |-  &lt;br /&gt;
 | style=&amp;quot;width:25%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
4. Please do use the right hand side column to provide advice and make work suggestions.&lt;br /&gt;
 | colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:75%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Project_Information:template_Code_Review_Project&amp;diff=45528</id>
		<title>Project Information:template Code Review Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Project_Information:template_Code_Review_Project&amp;diff=45528"/>
				<updated>2008-11-02T20:29:03Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;width:100%&amp;quot; border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! colspan=&amp;quot;7&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background:#4058A0; color:white&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''PROJECT IDENTIFICATION''' &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;|'''Project Name'''&lt;br /&gt;
 | colspan=&amp;quot;6&amp;quot; style=&amp;quot;width:85%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|&amp;lt;font color=&amp;quot;black&amp;quot;&amp;gt;'''OWASP Code Review Project V1.1''' &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;| '''Short Project Description''' &lt;br /&gt;
 | colspan=&amp;quot;6&amp;quot; style=&amp;quot;width:85%; background:#cccccc&amp;quot; align=&amp;quot;left&amp;quot;|The code review guide is currently at version RC 2.0 and the second best selling OWASP book. I have received many positive comments regarding this initial version and believe it’s a key enabler for the OWASP fight against software insecurity. It has even inspired individuals to build tools based on its information and I have convinced such people (Alessio Marziali) to open source their tool and make it an OWASP project. The combination of a book on secure code review and a tool to support such an activity is very powerful as it gives the developer community a place to start regarding secure application development. Proposal: I am proposing that I improve the code review guide from a number of aspects. This should place the guide as a de facto secure code review guide in the application security industry.  &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;|'''Email Contacts'''&lt;br /&gt;
 | style=&amp;quot;width:14%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Project Leader&amp;lt;br&amp;gt;[mailto:eoin.keary(at)owasp.org '''Eoin Keary''']&lt;br /&gt;
 | style=&amp;quot;width:14%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Project Contributors&amp;lt;br&amp;gt;(if applicable)&amp;lt;br&amp;gt;[mailto:to(at)change '''Name&amp;amp;Email''']&lt;br /&gt;
 | style=&amp;quot;width:14%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|[https://lists.owasp.org/mailman/listinfo/owasp-codereview '''Mailing List/Subscribe''']&lt;br /&gt;
[mailto:owasp-codereview(at)lists.owasp.org '''Mailing List/Use''']&lt;br /&gt;
 | style=&amp;quot;width:14%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|First Reviewer&amp;lt;br&amp;gt;[mailto:rahim.jina(at)ie.ey.com '''Rahim Jina''']&amp;lt;br&amp;gt;[[OWASP Summer of Code 2008 Projects Authors Status Target and Reviewers Rahim Jina Curriculum|Curriculum]]&lt;br /&gt;
 | style=&amp;quot;width:14%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Second Reviewer&amp;lt;br&amp;gt;[mailto:psatishkumar(at)gmail.com '''P.Satish Kumar''']&amp;lt;br&amp;gt;[[OWASP Summer of Code 2008 Projects Authors Status Target and Reviewers Rahim Jina Curriculum|Curriculum]]&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|OWASP Board Member&amp;lt;br&amp;gt;[mailto:jeff.williams(at)owasp.org '''Jeff Williams''']&lt;br /&gt;
 |}&lt;br /&gt;
{| style=&amp;quot;width:100%&amp;quot; border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! colspan=&amp;quot;6&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background:#4058A0; color:white&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''PROJECT MAIN LINKS''' &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:100%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
* [[:OWASP Code Review Guide Table of Contents|Code Review Guide Table of Contents]]&amp;lt;br&amp;gt;&lt;br /&gt;
* [http://www.lulu.com/content/1415989  Code Review Guide (RC2) Book]&amp;lt;br&amp;gt;&lt;br /&gt;
* (If appropriate, links to be added)&lt;br /&gt;
 |}&lt;br /&gt;
{| style=&amp;quot;width:100%&amp;quot; border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! colspan=&amp;quot;6&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background:#4058A0; color:white&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''RELATED PROJECTS''' &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:100%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
* [http://www.cyphersec.com/software_archive/CodeCrawler.rar OWASP Code Crawler Project]&amp;lt;br&amp;gt;&lt;br /&gt;
* [http://www.owasp.org/index.php/Category:OWASP_Orizon_Project OWASP Orizon Project]&lt;br /&gt;
 |}&lt;br /&gt;
{| style=&amp;quot;width:100%&amp;quot; border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! colspan=&amp;quot;6&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background:#4058A0; color:white&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''SPONSORS &amp;amp; GUIDELINES''' &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:50%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|[[OWASP Summer of Code 2008|Sponsor - '''OWASP Summer of Code 2008''']] &lt;br /&gt;
 | style=&amp;quot;width:50%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|[[OWASP Summer of Code 2008 Applications#OWASP Code review guide, V1.1|'''Sponsored Project/Guidelines/Roadmap''']]&lt;br /&gt;
 |}&lt;br /&gt;
{| style=&amp;quot;width:100%&amp;quot; border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! colspan=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background:#4058A0; color:white&amp;quot;|ASSESSMENT AND REVIEW PROCESS&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#6C82B5&amp;quot; align=&amp;quot;center&amp;quot;|'''Review/Reviewer''' &lt;br /&gt;
 | style=&amp;quot;width:21%; background:#b3b3b3&amp;quot; align=&amp;quot;center&amp;quot;|'''Author's Self Evaluation'''&amp;lt;br&amp;gt;(applicable for Alpha Quality &amp;amp; further) &lt;br /&gt;
 | style=&amp;quot;width:21%; background:#b3b3b3&amp;quot; align=&amp;quot;center&amp;quot;|'''First Reviewer'''&amp;lt;br&amp;gt;(applicable for Alpha Quality &amp;amp; further)&lt;br /&gt;
 | style=&amp;quot;width:21%; background:#b3b3b3&amp;quot; align=&amp;quot;center&amp;quot;|'''Second Reviewer'''&amp;lt;br&amp;gt;(applicable for Beta Quality &amp;amp; further)&lt;br /&gt;
 | style=&amp;quot;width:22%; background:#b3b3b3&amp;quot; align=&amp;quot;center&amp;quot;|'''OWASP Board Member'''&amp;lt;br&amp;gt;(applicable just for Release Quality) &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;|'''50% Review''' &lt;br /&gt;
 | style=&amp;quot;width:21%; background:#C2C2C2&amp;quot; align=&amp;quot;center&amp;quot;|Objectives &amp;amp; Deliveries reached?&amp;lt;br&amp;gt;'''Yes''' (To update)&amp;lt;br&amp;gt;---------&amp;lt;br&amp;gt;[[Project Information:template Code Review Project - 50 Review - Self Evaluation - A|See&amp;amp;Edit:50% Review/Self-Evaluation (A)]]&lt;br /&gt;
 | style=&amp;quot;width:21%; background:#C2C2C2&amp;quot; align=&amp;quot;center&amp;quot;|Objectives &amp;amp; Deliveries reached?&amp;lt;br&amp;gt;'''Yes'''&amp;lt;br&amp;gt;---------&amp;lt;br&amp;gt;[[Project Information:template Code Review Project - 50 Review - First Reviewer - C|See&amp;amp;Edit: 50% Review/1st Reviewer (C)]]&lt;br /&gt;
 | style=&amp;quot;width:21%; background:#C2C2C2&amp;quot; align=&amp;quot;center&amp;quot;|Objectives &amp;amp; Deliveries reached?&amp;lt;br&amp;gt;'''Yes'''&amp;lt;br&amp;gt;---------&amp;lt;br&amp;gt;[[Project Information:template Code Review Project 50 Review Second Review E|See&amp;amp;Edit: 50%Review/2nd Reviewer (E)]]&lt;br /&gt;
 | style=&amp;quot;width:22%; background:#C2C2C2&amp;quot; align=&amp;quot;center&amp;quot;|X &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#7B8ABD&amp;quot; align=&amp;quot;center&amp;quot;|'''Final Review''' &lt;br /&gt;
 | style=&amp;quot;width:21%; background:#C2C2C2&amp;quot; align=&amp;quot;center&amp;quot;|Objectives &amp;amp; Deliveries reached?&amp;lt;br&amp;gt;'''Yes/No''' (To update)&amp;lt;br&amp;gt;---------&amp;lt;br&amp;gt;Which status has been reached?&amp;lt;br&amp;gt;'''Season of Code''' - (To update)&amp;lt;br&amp;gt;---------&amp;lt;br&amp;gt;[[Project Information:template Code Review Project - Final Review - Self Evaluation - B|See&amp;amp;Edit: Final Review/SelfEvaluation (B)]]&lt;br /&gt;
 | style=&amp;quot;width:21%; background:#C2C2C2&amp;quot; align=&amp;quot;center&amp;quot;|Objectives &amp;amp; Deliveries reached?&amp;lt;br&amp;gt;'''Yes'''&amp;lt;br&amp;gt;---------&amp;lt;br&amp;gt;Which status has been reached?&amp;lt;br&amp;gt;'''Season of Code''' - (To update)&amp;lt;br&amp;gt;---------&amp;lt;br&amp;gt;[[Project Information:template Code Review Project - Final Review - First Reviewer - D|See&amp;amp;Edit: Final Review/1st Reviewer (D)]]&lt;br /&gt;
 | style=&amp;quot;width:21%; background:#C2C2C2&amp;quot; align=&amp;quot;center&amp;quot;|Objectives &amp;amp; Deliveries reached?&amp;lt;br&amp;gt;'''Yes/No''' (To update)&amp;lt;br&amp;gt;---------&amp;lt;br&amp;gt;Which status has been reached?&amp;lt;br&amp;gt;'''Season of Code''' - (To update)&amp;lt;br&amp;gt;---------&amp;lt;br&amp;gt;[[Project Information:template Code Review Project - Final Review - Second Reviewer - F|See&amp;amp;Edit: Final Review/2nd Reviewer (F)]]&lt;br /&gt;
 | style=&amp;quot;width:22%; background:#C2C2C2&amp;quot; align=&amp;quot;center&amp;quot;|Objectives &amp;amp; Deliveries reached?&amp;lt;br&amp;gt;'''Yes/No''' (To update)&amp;lt;br&amp;gt;---------&amp;lt;br&amp;gt;Which status has been reached?&amp;lt;br&amp;gt;'''Season of Code''' - (To update)&amp;lt;br&amp;gt;---------&amp;lt;br&amp;gt;[[Project Information:template Code Review Project - Final Review - OWASP Board Member - G|See/Edit: Final Review/Board Member (G)]]&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Reviewing_Code_for_Race_Conditions&amp;diff=44413</id>
		<title>Reviewing Code for Race Conditions</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Reviewing_Code_for_Race_Conditions&amp;diff=44413"/>
				<updated>2008-10-22T20:32:23Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OWASP Code Review Guide Table of Contents]]__TOC__&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Race Conditions occur when a piece of code does not work as it is supposed to (like many security issues). They are the result of an unexpected ordering of events which can result in the finite state machine of the code to transition to a undefined state and also give rise to contention of more than one thread of execution over the same resource. Multiple threads of execution acting or manipulating the same area in memory or persisted data which gives rise to integrity issues.&lt;br /&gt;
&lt;br /&gt;
==How they work:==&lt;br /&gt;
With competing tasks manipulating the same resource we can easily get a race condition as the resource is not in step-lock or utilises a token based multi-use system such as semaphores.&lt;br /&gt;
&lt;br /&gt;
Say we have two processes (Thread 1, T1) and (Thread 2, T2).&lt;br /&gt;
The code in question adds 10 to an integer X. The initial value of X is 5.&lt;br /&gt;
&lt;br /&gt;
 X = X + 10&lt;br /&gt;
&lt;br /&gt;
So with no controls surrounding this code in a multithreaded environment we get the following problem:&lt;br /&gt;
&lt;br /&gt;
 T1 places X into a register in thread 1&lt;br /&gt;
 T2 places X into a register in thread 2&lt;br /&gt;
 T1 adds 10 to the value in T1's register resulting in 15&lt;br /&gt;
 T2 adds 10 to the value in T2's register resulting in 15&lt;br /&gt;
 T1 saves the register value (15) into X.&lt;br /&gt;
 T1 saves the register value (15) into X.&lt;br /&gt;
&lt;br /&gt;
The value should actually be 25 as each thread added 10 to the initial value of 5. But the actual value is 15 due to T2 not letting T1 save into X before it takes a value of X for its addition.&lt;br /&gt;
&lt;br /&gt;
==How to locate the potentially vulnerable code==&lt;br /&gt;
&lt;br /&gt;
===.NET===&lt;br /&gt;
Look for code which used multithreaded environments:&lt;br /&gt;
&lt;br /&gt;
Keywords such as:&lt;br /&gt;
 Thread&lt;br /&gt;
 System.Threading&lt;br /&gt;
 ThreadPool&lt;br /&gt;
 System.Threading.Interlocked&lt;br /&gt;
&lt;br /&gt;
===Java===&lt;br /&gt;
 java.lang.Thread&lt;br /&gt;
 start()&lt;br /&gt;
 stop()&lt;br /&gt;
 destroy()&lt;br /&gt;
 init()&lt;br /&gt;
 synchronized &lt;br /&gt;
 wait()&lt;br /&gt;
 notify()&lt;br /&gt;
 notifyAll()&lt;br /&gt;
&lt;br /&gt;
===Classic ASP===&lt;br /&gt;
Notice multithreading is not directly supported feature of classic ASP so this kind of race conditions could be present only when using COM objects.&lt;br /&gt;
&lt;br /&gt;
==Vulnerable Patterns for Race Conditions== &lt;br /&gt;
&lt;br /&gt;
Static methods (One per class, not one per object) are an issue particularly if there is a shared state among multiple threads.&lt;br /&gt;
For example in Apache struts static members should not be used to store information relating to a particular request. The same instance of a class can be used by multiple threads and the value of the static member can not be guaranteed.&lt;br /&gt;
&lt;br /&gt;
Instances of classes do not need to be thread safe as one is made per operation/request. Static states must be thread safe.&lt;br /&gt;
&lt;br /&gt;
#References to static variables, these much be thread locked.&lt;br /&gt;
#Releasing a lock in places other then finally{} may cause issues&lt;br /&gt;
#Static methods that alter static state&lt;br /&gt;
&lt;br /&gt;
==Related Articles==&lt;br /&gt;
&lt;br /&gt;
http://msdn2.microsoft.com/en-us/library/f857xew0(vs.71).aspx&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Code Review Project]]&lt;br /&gt;
[[Category:Data Integrity|TOCTTOU]]&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Reviewing_Code_for_Session_Integrity_issues&amp;diff=44412</id>
		<title>Reviewing Code for Session Integrity issues</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Reviewing_Code_for_Session_Integrity_issues&amp;diff=44412"/>
				<updated>2008-10-22T20:30:58Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OWASP Code Review Guide Table of Contents]]__TOC__&lt;br /&gt;
==Introduction==&lt;br /&gt;
Cookies can be used to maintain a session state. This identifies a user whilst in the middle of using the application. Session ID's are a popular method of identifying a user. A &amp;quot;secure&amp;quot; session ID should be at least 128 bits in length and sufficiently random.&lt;br /&gt;
Cookies can also be used to identify a user but care must be taken in using cookies. Generally it is not recommended to implement a SSO (Single Sign on) solution using cookies; they were never intended for such use. Persistent cookies are stored on a user hard disk and are valid depending on the expiry date defined in the cookie. The following are pointers when reviewing cookie related code.&lt;br /&gt;
&lt;br /&gt;
==How to locate the potentially vulnerable code==&lt;br /&gt;
If the cookie object is being set with various attributes apart from the session ID check the cookie is set only to transmit over HTTPS/SSL.&lt;br /&gt;
In Java this is performed by the method:&lt;br /&gt;
 &lt;br /&gt;
 cookie.setSecure() (Java)&lt;br /&gt;
 cookie.secure = secure; (.NET) &lt;br /&gt;
 Response.Cookies(&amp;quot;CookieKey&amp;quot;).Secure = True (Classic ASP)&lt;br /&gt;
&lt;br /&gt;
==HTTP Only Cookie==&lt;br /&gt;
This is adhered to in IE6 and above.&lt;br /&gt;
HTTP Only cookie is meant to provide protection against XSS by not letting client side scripts access the cookie. It's a step in the right direction but not a silver bullet.&lt;br /&gt;
&lt;br /&gt;
 cookie.HttpOnly = true (C#)&lt;br /&gt;
&lt;br /&gt;
Here cookie should only be accessible via ASP.NET. &lt;br /&gt;
&lt;br /&gt;
Notice HTTPOnly property is not supported in Classic ASP pages.&lt;br /&gt;
&lt;br /&gt;
==Limiting Cookie Domain==&lt;br /&gt;
Ensure cookies are limited to a domain such as example.com; therefore the cookie is associated to example.com. If the cookie is associated with other domains the following code performs this:&lt;br /&gt;
&lt;br /&gt;
 Response.Cookies[&amp;quot;domain&amp;quot;].Domain = &amp;quot;support.example.com&amp;quot;; (C#)&lt;br /&gt;
 Response.Cookies(&amp;quot;domain&amp;quot;).Domain = &amp;quot;support.example.com&amp;quot; (Classic ASP)&lt;br /&gt;
&lt;br /&gt;
During the review, if the cookie is assigned to more than one domain make note of it and query why this is the case.&lt;br /&gt;
&lt;br /&gt;
==Displaying Data to user from Cookie==&lt;br /&gt;
&lt;br /&gt;
Make sure that data being displayed to a user from a cookie is HTML encoded. This mitigates some forms of Cross Site Scripting.&lt;br /&gt;
 &lt;br /&gt;
 LabelX.Text = Server.HtmlEncode(Request.Cookies[&amp;quot;userName&amp;quot;].Value); (C#)&lt;br /&gt;
 Response.Write Server.HtmlEncode (Request.Cookies(&amp;quot;userName&amp;quot;)) (Classic ASP)&lt;br /&gt;
&lt;br /&gt;
==Session Tracking/Management Techniques==&lt;br /&gt;
=== HTML Hidden Field ===&lt;br /&gt;
The HTML Hidden field could be used to perform session tracking. Upon each HTTP POST request the hidden field is passed to the server identifying the user. It would be in the form of&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;INPUT TYPE=&amp;quot;hidden&amp;quot; NAME=&amp;quot;user&amp;quot;VALUE=&amp;quot;User001928394857738000094857hfduekjkksowie039848jej393&amp;quot;&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server-side code is used to perform validation on the VALUE in order to ensure the used is valid. This approach can only be used for POST/Form requests.&lt;br /&gt;
&lt;br /&gt;
=== URL Rewriting ===&lt;br /&gt;
URL rewriting approaches session tracking by appending a unique id pertaining to the user at the end of the URL.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;A HREF=&amp;quot;/smackmenow.htm?user=User001928394857738000094857hfduekjkksowie039848jej393&amp;quot;&amp;gt;Click Here&amp;lt;/A&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==Leading Practice Patterns for Session Management/Integrity==&lt;br /&gt;
HTTPOnly Cookie:&lt;br /&gt;
Prevents cookie access via client side script. Not all browsers support such a directive.&lt;br /&gt;
&lt;br /&gt;
'''Valid Session checking''':&lt;br /&gt;
&lt;br /&gt;
Upon any HTTP request the framework should check if the user pertaining to the HTTP request (via session ID) is valid.&lt;br /&gt;
&lt;br /&gt;
'''Successful Authentication''':&lt;br /&gt;
&lt;br /&gt;
Upon a successful login the user should be issued a new session identifier. The old session ID should be invalidated. This prevents session fixation attacks and the same browser also sharing the same session ID in a multi user environment. Some times the session ID is per browser and the session remains valid while the browser is alive.&lt;br /&gt;
&lt;br /&gt;
'''Logout''':&lt;br /&gt;
This also leads to the idea of why a logout button is so important. The logout button should invalidate the users session ID when it is selected.&lt;br /&gt;
&lt;br /&gt;
==Related Articles==&lt;br /&gt;
&lt;br /&gt;
[[:Category:OWASP_Cookies_Database|OWASP cookies database]]&amp;lt;br /&amp;gt;&lt;br /&gt;
http://msdn2.microsoft.com/en-us/library/ms533046.aspx &amp;lt;br /&amp;gt;&lt;br /&gt;
http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/Cookie.html&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Code Review Project]]&lt;br /&gt;
[[Category:Session Management]]&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Reviewing_Code_for_Logging_Issues&amp;diff=44152</id>
		<title>Reviewing Code for Logging Issues</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Reviewing_Code_for_Logging_Issues&amp;diff=44152"/>
				<updated>2008-10-20T21:18:49Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OWASP Code Review Guide Table of Contents]]__TOC__&lt;br /&gt;
=== In Brief===&lt;br /&gt;
Logging is the recording of information into storage that details who performed what and when they did it (like an audit trail). This can also cover debug messages implemented during development as well as any messages reflecting problems or states within the application. It should be an audit of everything that the business deems important to track about the applications use. Logging provides a detective method to ensure that the other security mechanisms being used are performing correctly. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are three categories of logs; application, operation system and security software.  While the general principles are similar for all logging needs, the practices stated in this document are especially applicable to application logs.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A good logging strategy should include log generation, storage, protection, analysis and reporting.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Log Generation====&lt;br /&gt;
Logging should be at least done at the following events:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Authentication''': Successful and unsuccessful attempts.&amp;lt;br&amp;gt;&lt;br /&gt;
'''Authorization requests'''.&amp;lt;br&amp;gt;&lt;br /&gt;
'''Data manipulation''': Any (CUD) Create, Update, Delete actions performed on the application.&amp;lt;br&amp;gt;&lt;br /&gt;
'''Session activity''': Termination/Logout events.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The application should have the ability to detect and record possible malicious use, such as events that cause unexpected errors or defy the state model of the application, for example, users who attempt to get access to data that they shouldn’t, and incoming data that does not meet validation rules or has been tampered with. In general, it should detect any error condition which could not occur without an attempt by the user to circumvent the application logic.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Logging should give us the information required to form a proper audit trail of a user's actions.&amp;lt;br&amp;gt; &lt;br /&gt;
Leading from this, the date/time actions were performed would be useful, but make sure the application uses a clock that is synched to a common time source.&lt;br /&gt;
Logging functionality should not log any personal or sensitive data pertaining to the user of function at hand that is being recorded; an example of this is if your application is accepting HTTP GET the payload is in the URL and the GET shall be logged. This may result in logging sensitive data.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Logging should follow best practice regarding data validation; &lt;br /&gt;
maximum length of information, malicious characters….&amp;lt;br&amp;gt;&lt;br /&gt;
We should ensure that logging functionality only logs messages of a reasonable length and that this length is enforced.&amp;lt;br&amp;gt;&lt;br /&gt;
Never log user input directly; validate, then log.&lt;br /&gt;
&lt;br /&gt;
====Log Storage====&lt;br /&gt;
In order to preserve log entries and keep the sizes of log files manageable, log rotation is recommend.  Log rotation means closing a log file and opening a new one when the first file is considered to be either complete or becoming too big.  Log rotation is typically performed according to a schedule (e.g. daily) or when a file reaches a certain size.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Log Protection====&lt;br /&gt;
Because logs contain records of user account and other sensitive information, they need to be protected from breaches of their confidentiality, integrity and availability, the triad of information security.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Log Analysis and Reporting====&lt;br /&gt;
Log analysis is the studying of log entries to identify events of interest or suppress log entries for insignificant events.  Log reporting is the displaying of log analysis.&lt;br /&gt;
Although these are normally the responsibilities of the system administrator, an application must generate logs that are consistent and contains info that will allow the administrator to prioritize the records.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Common open source logging solutions:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Log4J:		 http://logging.apache.org/log4j/docs/index.html&lt;br /&gt;
&lt;br /&gt;
 Log4net:	 http://logging.apache.org/log4net/&lt;br /&gt;
&lt;br /&gt;
 Commons Logging: http://jakarta.apache.org/commons/logging/index.html&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Tomcat(5.5), if no custom logger is defined (log4J) then everything is logged via Commons Logging and ultimately ends up in catalina.out.&amp;lt;br&amp;gt;&lt;br /&gt;
catalina.out grows endlessly and does not recycle/rollover. Log4J provides “Rollover” functionality, which limits the size of the log. Log4J also gives the option to specify “appenders” which can redirect the log data to other destinations such as a port, syslog or even a database or JMS.&lt;br /&gt;
&lt;br /&gt;
The parts of log4J which should be considered apart from the actual data being logged by the application are contained in the log4j.properties file:&lt;br /&gt;
&lt;br /&gt;
 #&lt;br /&gt;
 # Configures Log4j as the Tomcat system logger&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 #&lt;br /&gt;
 # Configure the logger to output info level messages into a rolling log file.&lt;br /&gt;
 #&lt;br /&gt;
 log4j.rootLogger=INFO, R&lt;br /&gt;
 &lt;br /&gt;
 #&lt;br /&gt;
 # To continue using the &amp;quot;catalina.out&amp;quot; file (which grows forever),&lt;br /&gt;
 # comment out the above line and uncomment the next.&lt;br /&gt;
 #&lt;br /&gt;
 #log4j.rootLogger=ERROR, A1&lt;br /&gt;
 &lt;br /&gt;
 #&lt;br /&gt;
 # Configuration for standard output (&amp;quot;catalina.out&amp;quot;).&lt;br /&gt;
 #&lt;br /&gt;
 log4j.appender.A1=org.apache.log4j.ConsoleAppender&lt;br /&gt;
 log4j.appender.A1.layout=org.apache.log4j.PatternLayout&lt;br /&gt;
 #&lt;br /&gt;
 # Print the date in ISO 8601 format&lt;br /&gt;
 #&lt;br /&gt;
 log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n&lt;br /&gt;
 &lt;br /&gt;
 #&lt;br /&gt;
 # Configuration for a rolling log file (&amp;quot;tomcat.log&amp;quot;).&lt;br /&gt;
 #&lt;br /&gt;
 log4j.appender.R=org.apache.log4j.DailyRollingFileAppender&lt;br /&gt;
 log4j.appender.R.DatePattern='.'yyyy-MM-dd&lt;br /&gt;
 #&lt;br /&gt;
 # Edit the next line to point to your logs directory.&lt;br /&gt;
 # The last part of the name is the log file name.&lt;br /&gt;
 #&lt;br /&gt;
 log4j.appender.R.File=/usr/local/tomcat/logs/tomcat.log&lt;br /&gt;
 log4j.appender.R.layout=org.apache.log4j.PatternLayout&lt;br /&gt;
 #&lt;br /&gt;
 # Print the date in ISO 8601 format&lt;br /&gt;
 #&lt;br /&gt;
 log4j.appender.R.layout.ConversionPattern=%d [%t] %-5p %c - %m%n&lt;br /&gt;
 &lt;br /&gt;
 #&lt;br /&gt;
 # Application logging options&lt;br /&gt;
 #&lt;br /&gt;
 #log4j.logger.org.apache=DEBUG&lt;br /&gt;
 #log4j.logger.org.apache=INFO&lt;br /&gt;
 #log4j.logger.org.apache.struts=DEBUG&lt;br /&gt;
 #log4j.logger.org.apache.struts=INFO&lt;br /&gt;
&lt;br /&gt;
=== Vulnerable patterns examples for Logging===&lt;br /&gt;
&lt;br /&gt;
====.NET====&lt;br /&gt;
The following are issues one may look out for or question the development/deployment team.&lt;br /&gt;
Logging and auditing are detective methods of fraud prevention. They are much overlooked in the industry, which enables attackers to continue to attack/commit fraud without being detected.&lt;br /&gt;
&lt;br /&gt;
They cover Windows and .NET issues:&lt;br /&gt;
'''Check that:'''&lt;br /&gt;
#Windows native log puts a timestamp on all log entries.&lt;br /&gt;
#GMT is set as the default time.&lt;br /&gt;
#The Windows operating system can be configured to use network timeservers.&lt;br /&gt;
#By default the event log will show: Name of the computer that generated the event; The application in the source field of the viewer. Additional information such as request identifier,username,and destination should be included in the body of the error event.&lt;br /&gt;
#No sensitive or business critical information is sent to the application logs.&lt;br /&gt;
#Application logs are not located in the web root directory.&lt;br /&gt;
#Log policy allows different levels of log severity.&lt;br /&gt;
&lt;br /&gt;
===== Writing to the Event Log=====&lt;br /&gt;
In the course of reviewing .NET code ensure that calls the EventLog object do not provide any confidential information.&lt;br /&gt;
&lt;br /&gt;
 EventLog.WriteEntry( &amp;quot;&amp;lt;password&amp;gt;&amp;quot;,EventLogEntryType.Information);&lt;br /&gt;
&lt;br /&gt;
====Classic ASP====&lt;br /&gt;
You can add events to Web server Log or Windows log, for Web Server Log use&lt;br /&gt;
 Response.AppendToLog(&amp;quot;Error in Processing&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
This is the common way of adding entries to the Windows event log.&lt;br /&gt;
 Const EVENT_SUCCESS = 0&lt;br /&gt;
 Set objShell = Wscript.CreateObject(&amp;quot;Wscript.Shell&amp;quot;)&lt;br /&gt;
 objShell.LogEvent EVENT_SUCCESS, _&lt;br /&gt;
   &amp;quot;Payroll application successfully installed.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Notice all the previous bullets for ASP.NET are pretty much applicable for classic ASP as well.&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Code Review Project]]&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Reviewing_code_for_Cross-Site_Request_Forgery_issues&amp;diff=44149</id>
		<title>Reviewing code for Cross-Site Request Forgery issues</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Reviewing_code_for_Cross-Site_Request_Forgery_issues&amp;diff=44149"/>
				<updated>2008-10-20T21:01:41Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OWASP Code Review Guide Table of Contents]]__TOC__&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
[[CSRF]] is an attack which forces an end user to execute unwanted actions on a web application in which he/she is currently authenticated. With a little help of social engineering (like sending a link via email/chat), an attacker may force the users of a web application to execute actions of the attackers choosing. A successful CSRF exploit can compromise end user data and operation in the case of a normal user. If the targeted end user is the administrator account, this can compromise the entire web application.&lt;br /&gt;
[[Category:FIXME|I took this from the testing section and modified it a little, but I need someone to revise this to a good definition of CSRF that I can use on each of the pages]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related Security Activities==&lt;br /&gt;
&lt;br /&gt;
===Description of CSRF Vulnerabilities===&lt;br /&gt;
&lt;br /&gt;
See the OWASP article on [[CSRF]] Vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
===How to Test for CSRF Vulnerabilities===&lt;br /&gt;
&lt;br /&gt;
See the [[:Category:OWASP Testing Project|OWASP Testing Guide]] article on how to [[Testing for CSRF |Test for CSRF]] Vulnerabilities.&lt;br /&gt;
[[Category:FIXME|I think both the Introduction and How They Work sections here need to be deleted, since this is duplicate information]]&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
CSRF is not the same as XSS (Cross Site Scripting) which forces malicious content to be served by a trusted website to an unsuspecting victim. Injected Text is treated as executable by the browser hence running script. Used in Phishing, Trojan upload, Browser vulnerability weakness attacks…..&lt;br /&gt;
&lt;br /&gt;
Cross-Site Request Forgery (CSRF) (C-SURF) (Confused-Deputy) attacks are considered useful if the attacker knows the target is authenticated to a web based system. They only work if the target is logged into the system and therefore, have a small attack footprint. Other logical weaknesses also need to be present such as no transaction authorization required by the user.&lt;br /&gt;
&lt;br /&gt;
In effect CSRF attacks are used by an attacker to make a target system perform a function (Funds Transfer, Form submission etc..) via the targets browser without knowledge of the target user, at least until the unauthorized function has been committed. A primary target is the exploitation of “ease of use” features on web applications (One-click purchase) for example.&lt;br /&gt;
&lt;br /&gt;
[[Category:FIXME|Can this whole introduction be deleted?]]&lt;br /&gt;
&lt;br /&gt;
==How they work:==&lt;br /&gt;
&lt;br /&gt;
[[Category:FIXME|Can this section be deleted? This information is covered in the ASDR, using a different example]] &lt;br /&gt;
CSRF attacks work by sending a rogue HTTP request from an authenticated user's browser to the application, which then commits a transaction without authorization given by the target user.&lt;br /&gt;
As long as the user is authenticated and a meaningful HTTP request is sent by the users browser to a target application, the application does not know if the origin of the request is a valid transaction or a link clicked by the user (that was say, in an email) while the user is authenticated to the applications.&lt;br /&gt;
So, for example, using CSRF an attacker makes the victim perform actions that they didn't intend to, such as logout, purchase item, change account information, or any other function provided by the vulnerable website.&lt;br /&gt;
&lt;br /&gt;
An Example below of a HTTP POST to a ticket vendor to purchase a number of tickets.&lt;br /&gt;
&lt;br /&gt;
 POST http://TicketMeister.com/Buy_ticket.htm HTTP/1.1&lt;br /&gt;
 Host: ticketmeister&lt;br /&gt;
 User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O;) Firefox/1.4.1&lt;br /&gt;
 Cookie: JSPSESSIONID=34JHURHD894LOP04957HR49I3JE383940123K&lt;br /&gt;
 ticketId=ATHX1138&amp;amp;to=PO BOX 1198 DUBLIN 2&amp;amp;amount=10&amp;amp;date=11042008&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The response of the vendor is to acknowledge the purchase of the tickets:&lt;br /&gt;
&lt;br /&gt;
 HTTP/1.0 200 OK&lt;br /&gt;
 Date: Fri, 02 May 2008 10:01:20 GMT&lt;br /&gt;
 Server: IBM_HTTP_Server&lt;br /&gt;
 Content-Type: text/xml;charset=ISO-8859-1&lt;br /&gt;
 Content-Language: en-US&lt;br /&gt;
 X-Cache: MISS from app-proxy-2.proxy.ie&lt;br /&gt;
 Connection: close&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;ISO-8859-1&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;pge_data&amp;gt; Ticket Purchased, Thank you for your custom.&lt;br /&gt;
 &amp;lt;/pge_data&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to locate the potentially vulnerable code==&lt;br /&gt;
This issue is simple to detect, but there may be compensating controls around the functionality of the application which may alert the user to a CSRF attempt.&lt;br /&gt;
As long as the application accepts a well formed HTTP request and the request adheres to some business logic of the application CSRF shall work (From now on we assume the target user is logged into the system to be attacked).&lt;br /&gt;
&lt;br /&gt;
By checking the page rendering we need to see if any unique identifiers are appended to the links rendered by the application in the user's browser. If there is no unique identifier relating to each HTTP request to tie a HTTP request to the user we are vulnerable. &lt;br /&gt;
Session ID is ''not enough'' as the session ID shall be sent anyway if a user clicks on a rogue link as the user is authenticated already.&lt;br /&gt;
&lt;br /&gt;
===Transaction Drive Thru'===&lt;br /&gt;
&lt;br /&gt;
==== An eye for an eye, A request for a request====&lt;br /&gt;
When an HTTP request is received by the application, one should examine the business logic to assess when a transaction request is sent to the application that the application does not simply execute, but responds to the request with another request for the user's password.&lt;br /&gt;
&lt;br /&gt;
 Line&lt;br /&gt;
 &lt;br /&gt;
 1 String actionType = Request.getParameter(&amp;quot;Action&amp;quot;);&lt;br /&gt;
 2  if(actionType.equalsIgnoreCase(&amp;quot;BuyStuff&amp;quot;){&lt;br /&gt;
 4     Response.add(&amp;quot;Please enter your password&amp;quot;);&lt;br /&gt;
 5     return Response;&lt;br /&gt;
 6  }&lt;br /&gt;
&lt;br /&gt;
In the above pseudo code, we would examine if an HTTP request to commit a transaction is received, and if the application responds to the user request for a confirmation (in this case re-enter a password).&lt;br /&gt;
&lt;br /&gt;
The Flow below depicts the logic behind anti-CSRF transaction management:&lt;br /&gt;
&lt;br /&gt;
[[image:CSRF-Flow.GIF]]&lt;br /&gt;
&lt;br /&gt;
==Vulnerable Patterns for CSRF== &lt;br /&gt;
'''Any application that accepts HTTP requests from an authenticated user without having some control to verify that the HTTP request is unique to the user's session.''' (Nearly all web applications!!). Session ID is not in scope here as the rogue HTTP request shall also contain a valid session ID, as the user is authenticated already.&lt;br /&gt;
&lt;br /&gt;
==Good Patterns &amp;amp; procedures to prevent CSRF==&lt;br /&gt;
So checking if the request has a valid session cookie is not enough, we need check if a unique identifier is sent with every HTTP request sent to the application. &lt;br /&gt;
''CSRF requests WON'T have this valid unique identifier''. &lt;br /&gt;
The reason CSRF requests won't have this unique request identifier is the unique ID is rendered as a hidden field on the page and is appended to the HTTP request once a link/button press is selected. The attacker will have no knowledge of this unique ID as it is random and rendered dynamically per link, per page.&lt;br /&gt;
&lt;br /&gt;
#A list is complied prior to delivering the page to the user. The list contains all valid unique IDs generated for all links on a given page. The unique ID could be derived from a secure random generator such as SecureRandom for J2EE.&lt;br /&gt;
#A unique ID is appended to each link/form on the requested page prior to being displayed to the user.&lt;br /&gt;
#Maintaining a list of unique IDs in the user session, the application checks if the unique ID passed with the HTTP request is valid for a given request.&lt;br /&gt;
#If the unique ID is not present, terminate the user session and display an error to the user.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===User Interaction===&lt;br /&gt;
Upon committing to a transaction such as fund transfer display an additional decision to the user such as a requirement for ones password to be entered and verified prior to the transaction taking place.&lt;br /&gt;
CSRF attacker would not know the password of the user and therefore the transaction could not be committed via a stealth CSRF attack.&lt;br /&gt;
&lt;br /&gt;
==Related Articles==&lt;br /&gt;
[[CSRF Guard]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Code Review Project]]&lt;br /&gt;
[[Category:Identity Theft]]&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Reviewing_Code_for_Cross-site_scripting&amp;diff=43722</id>
		<title>Reviewing Code for Cross-site scripting</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Reviewing_Code_for_Cross-site_scripting&amp;diff=43722"/>
				<updated>2008-10-19T17:45:22Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OWASP Code Review Guide Table of Contents]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Cross-site scripting (XSS) attacks occur when an attacker uses a web application to send malicious code, generally in the form of a browser side script, to a different end user. Flaws that allow these attacks to succeed are quite widespread and occur anywhere a web application uses input from a user in the output it generates, without validating or encoding it.&lt;br /&gt;
[[Category:FIXME|Is this a good short description of this?]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related Security Activities==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Description of Cross-site Scripting Vulnerabilities===&lt;br /&gt;
&lt;br /&gt;
See the OWASP article on [[Cross-site Scripting (XSS)]] Vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
===How to Avoid Cross-site scripting  Vulnerabilities===&lt;br /&gt;
&lt;br /&gt;
See the [[:Category:OWASP Guide Project|OWASP Development Guide]] article on [[Phishing]].&lt;br /&gt;
&lt;br /&gt;
See the [[:Category:OWASP Guide Project|OWASP Development Guide]] article on [[Data Validation]].&lt;br /&gt;
&lt;br /&gt;
===How to Test for Cross-site scripting  Vulnerabilities===&lt;br /&gt;
&lt;br /&gt;
See the [[:Category:OWASP Testing Project|OWASP Testing Guide]] article on how to [[Testing for Cross site scripting|Test for Cross site scripting]] Vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Vulnerable Code example==&lt;br /&gt;
If the text inputted by the user is reflected back and has not been data validated, the browser shall interpret the inputted script as part of the mark up, and execute the code accordingly.&lt;br /&gt;
&lt;br /&gt;
To mitigate this type of vulnerability we need to perform a number of security tasks in our code:&lt;br /&gt;
&lt;br /&gt;
# Validate data&lt;br /&gt;
# Encode unsafe output&lt;br /&gt;
 &lt;br /&gt;
 import org.apache.struts.action.*; &lt;br /&gt;
 import org.apache.commons.beanutils.BeanUtils; &lt;br /&gt;
 import javax.servlet.http.HttpServletRequest; &lt;br /&gt;
 import javax.servlet.http.HttpServletResponse; &lt;br /&gt;
 &lt;br /&gt;
 public final class InsertEmployeeAction extends Action { &lt;br /&gt;
 &lt;br /&gt;
 public ActionForward execute(ActionMapping mapping, ActionForm form,&lt;br /&gt;
     HttpServletRequest request, HttpServletResponse response) throws Exception{ &lt;br /&gt;
 &lt;br /&gt;
 // Setting up objects and vairables.&lt;br /&gt;
 &lt;br /&gt;
 Obj1 service = new Obj1(); &lt;br /&gt;
 ObjForm objForm = (ObjForm) form; &lt;br /&gt;
 InfoADT adt = new InfoADT (); &lt;br /&gt;
 BeanUtils.copyProperties(adt, objForm); &lt;br /&gt;
 &lt;br /&gt;
 	String searchQuery = objForm.getqueryString();&lt;br /&gt;
 	String payload = objForm.getPayLoad();&lt;br /&gt;
 try { &lt;br /&gt;
 service.doWork(adt);  / /do something with the data&lt;br /&gt;
 ActionMessages messages = new ActionMessages(); &lt;br /&gt;
 ActionMessage message = new ActionMessage(&amp;quot;success&amp;quot;, adt.getName() ); &lt;br /&gt;
 messages.add( ActionMessages.GLOBAL_MESSAGE, message ); &lt;br /&gt;
 saveMessages( request, messages ); &lt;br /&gt;
 request.setAttribute(&amp;quot;Record&amp;quot;, adt); &lt;br /&gt;
 return (mapping.findForward(&amp;quot;success&amp;quot;));&lt;br /&gt;
 }&lt;br /&gt;
 catch( DatabaseException de ) &lt;br /&gt;
 {&lt;br /&gt;
 ActionErrors errors = new ActionErrors(); &lt;br /&gt;
 ActionError error = new ActionError(&amp;quot;error.employee.databaseException&amp;quot; + “Payload: “+payload);&lt;br /&gt;
 errors.add( ActionErrors.GLOBAL_ERROR, error ); &lt;br /&gt;
 saveErrors( request, errors ); &lt;br /&gt;
 return (mapping.findForward(&amp;quot;error: &amp;quot;+ searchQuery)); &lt;br /&gt;
 } &lt;br /&gt;
 } &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The text above shows some common mistakes in the development of this struts action class.&lt;br /&gt;
First, the data passed in the HttpServletRequest is placed into a parameter without being data validated.&lt;br /&gt;
&lt;br /&gt;
Focusing on XSS we can see that this action class returns a message, ActionMessage,  if the function is successful.&lt;br /&gt;
If an error the code in the Try/Catch block is executed, the data contained in the HttpServletRequest is returned to the user, unvalidated and exactly in the format in which the user inputted it.&lt;br /&gt;
&lt;br /&gt;
 import java.io.*; &lt;br /&gt;
 import javax.servlet.http.*; &lt;br /&gt;
 import javax.servlet.*; &lt;br /&gt;
 &lt;br /&gt;
 public class HelloServlet extends HttpServlet &lt;br /&gt;
 { &lt;br /&gt;
 public void doGet (HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException &lt;br /&gt;
 { &lt;br /&gt;
 &lt;br /&gt;
 String input = req.getHeader(“USERINPUT”);&lt;br /&gt;
 &lt;br /&gt;
 PrintWriter out = res.getWriter(); &lt;br /&gt;
 out.println(input);  // echo User input.&lt;br /&gt;
 out.close(); 	&lt;br /&gt;
 } &lt;br /&gt;
 } &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Following is a  second example of an XSS vulnerable function. Echoing un-validated user input back to the browser would give a nice large vulnerability footprint.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.NET Example (ASP.NET version 1.1 ASP.NET version 2.0):&lt;br /&gt;
&lt;br /&gt;
The server side code for a VB.NET application may have similar functionality&lt;br /&gt;
&lt;br /&gt;
 ' SearchResult.aspx.vb &lt;br /&gt;
 Imports System &lt;br /&gt;
 Imports System.Web &lt;br /&gt;
 Imports System.Web.UI &lt;br /&gt;
 Imports System.Web.UI.WebControls &lt;br /&gt;
 &lt;br /&gt;
 Public Class SearchPage Inherits System.Web.UI.Page &lt;br /&gt;
 &lt;br /&gt;
 Protected txtInput As TextBox &lt;br /&gt;
 Protected cmdSearch As Button &lt;br /&gt;
 Protected lblResult As Label Protected &lt;br /&gt;
 &lt;br /&gt;
 Sub cmdSearch _Click(Source As Object, _ e As EventArgs) &lt;br /&gt;
 	&lt;br /&gt;
 // Do Search…..&lt;br /&gt;
 	// …………&lt;br /&gt;
 &lt;br /&gt;
 lblResult.Text=&amp;quot;You Searched for: &amp;quot; &amp;amp; txtInput.Text &lt;br /&gt;
 &lt;br /&gt;
 // Display Search Results…..&lt;br /&gt;
 // …………&lt;br /&gt;
 &lt;br /&gt;
 End Sub &lt;br /&gt;
 End Class&lt;br /&gt;
&lt;br /&gt;
This is a VB.NET example of a vulnerable piece of search functionality which echoes back the data inputted by the user. To mitigate against this, we need proper data validation and in the case of stored XSS attacks we need to encode known bad input (as mentioned before).&lt;br /&gt;
&lt;br /&gt;
'''Classic ASP Example''' &amp;lt;br /&amp;gt;&lt;br /&gt;
Classic ASP is also XSS prone, just as like most Web technologies.&lt;br /&gt;
 &amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;%&lt;br /&gt;
    ...&lt;br /&gt;
    Response.Write &amp;quot;&amp;lt;div class='label'&amp;gt;Please confirm your data&amp;lt;/div&amp;gt;&amp;lt;br /&amp;gt;&amp;quot; &lt;br /&gt;
    Response.Write &amp;quot;Name: &amp;quot; &amp;amp; Request.Form(&amp;quot;UserFullName&amp;quot;)&lt;br /&gt;
    ...&lt;br /&gt;
 %&amp;gt;&lt;br /&gt;
 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Protecting against XSS==&lt;br /&gt;
In the .NET framework there are some in-built security functions which can assist in data validation and HTML encoding, namely, ASP.NET 1.1 '''request validation '''feature and '''HttpUtility.HtmlEncode'''.&lt;br /&gt;
&lt;br /&gt;
Microsoft in their wisdom state that you should not rely solely on ASP.NET request validation&lt;br /&gt;
and that it should be used in conjunction with your own data validation, such as regular expressions (mentioned below).&lt;br /&gt;
&lt;br /&gt;
The request validation feature is disabled on an individual page by specifying in the page directive  &lt;br /&gt;
&lt;br /&gt;
  '''&amp;lt;%@ Page validateRequest=&amp;quot;false&amp;quot; %&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
or by setting '''ValidateRequest=&amp;quot;false&amp;quot;''' on the '''@ Pages''' element. &lt;br /&gt;
&lt;br /&gt;
or in the '''web.config''' file:&lt;br /&gt;
&lt;br /&gt;
You can disable request validation by adding a &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;'''pages'''&amp;gt; element with '''validateRequest=&amp;quot;false&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
So when reviewing code make sure the validateRequest directive is enabled and if not, investigate what method of data validation is being used, if any.&lt;br /&gt;
Check that ASP.NET Request validation Is enabled in '''Machine.config'''&lt;br /&gt;
Request validation is enabled by ASP.NET by default. You can see the following default setting in the '''Machine.config''' file.&lt;br /&gt;
&lt;br /&gt;
  '''&amp;lt;pages validateRequest=&amp;quot;true&amp;quot; ... /&amp;gt; '''&lt;br /&gt;
&lt;br /&gt;
HTML Encoding:&lt;br /&gt;
&lt;br /&gt;
Content to be displayed can easily be encoded using the HtmlEncode function. This is done by calling:&lt;br /&gt;
&lt;br /&gt;
  '''Server.HtmlEncode(string)'''&lt;br /&gt;
&lt;br /&gt;
Using the html encoder example for a form:&lt;br /&gt;
&lt;br /&gt;
Text Box: &amp;lt;%@ Page Language=&amp;quot;C#&amp;quot; ValidateRequest=&amp;quot;false&amp;quot; %&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;script runat=&amp;quot;server&amp;quot;&amp;gt; &lt;br /&gt;
 void searchBtn _Click(object sender, EventArgs e) { &lt;br /&gt;
 Response.Write(HttpUtility.HtmlEncode(inputTxt.Text)); } &lt;br /&gt;
 &amp;lt;/script&amp;gt; &lt;br /&gt;
 &amp;lt;html&amp;gt; &lt;br /&gt;
 &amp;lt;body&amp;gt; &lt;br /&gt;
 &amp;lt;form id=&amp;quot;form1&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;div&amp;gt; &lt;br /&gt;
 &amp;lt;asp:TextBox ID=&amp;quot;inputTxt&amp;quot; Runat=&amp;quot;server&amp;quot; TextMode=&amp;quot;MultiLine&amp;quot; Width=&amp;quot;382px&amp;quot; Height=&amp;quot;152px&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;/asp:TextBox&amp;gt; &lt;br /&gt;
 &amp;lt;asp:Button ID=&amp;quot;searchBtn&amp;quot; Runat=&amp;quot;server&amp;quot; Text=&amp;quot;Submit&amp;quot; OnClick=&amp;quot; searchBtn _Click&amp;quot; /&amp;gt; &lt;br /&gt;
 &amp;lt;/div&amp;gt; &lt;br /&gt;
 &amp;lt;/form&amp;gt; &lt;br /&gt;
 &amp;lt;/body&amp;gt; &lt;br /&gt;
 &amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For Classic ASP pages the encoding function is used pretty much the same as in ASP.NET&lt;br /&gt;
&lt;br /&gt;
 Response.Write Server.HtmlEncode(inputTxt.Text)&lt;br /&gt;
&lt;br /&gt;
'''Stored Cross Site Script:'''&lt;br /&gt;
Using Html encoding to encode potentially unsafe output.:&lt;br /&gt;
&lt;br /&gt;
Malicious script can be stored/persisted in a database and shall not execute until retrieved by a user. This can also be the case in bulletin boards and some early web email clients. This incubated attack can sit dormant for a long period of time until a user decides to view the page where the injected script is present. At this point the script shall execute on the users browser:&lt;br /&gt;
&lt;br /&gt;
The original source of input for the injected script may be from another vulnerable application, which is common in enterprise architectures. Therefore the application at hand may have good input data validation but the data persisted may not have been entered via this application per se, but via another application.&lt;br /&gt;
&lt;br /&gt;
In this case we cannot be 100% sure the data to be displayed to the user is 100% safe (as it could of found its way in via another path in the enterprise).&lt;br /&gt;
The approach to mitigate against this si to ensure the data sent to the browser is not going to be interpreted by the browser as mark-up and should be treated as user data.&lt;br /&gt;
&lt;br /&gt;
We encode known bad to mitigate against this “enemy within”. This in effect assures that the browser interprets any special characters as data and markup. &lt;br /&gt;
How is this done?&lt;br /&gt;
HTML encoding usually means '''&amp;amp;lt;''' becomes '''&amp;amp;amp;lt;''', '''&amp;amp;gt;''' becomes '''&amp;amp;amp;gt;''', '''&amp;amp;amp;''' becomes '''&amp;amp;amp;amp;''', and '''&amp;amp;quot;''' becomes '''&amp;amp;amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
From	To&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;	&amp;amp;amp;lt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;	&amp;amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;#40;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;	&amp;amp;amp;&amp;amp;#35;40;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;#41;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;	&amp;amp;amp;&amp;amp;#35;41;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;#35;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;	&amp;amp;amp;&amp;amp;#35;35;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;amp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;	&amp;amp;amp;amp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;quot;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;	&amp;amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
So, for example, the text &amp;lt;script&amp;gt; would be displayed as &amp;lt;script&amp;gt; but on viewing the markup it would be represented by &amp;amp;amp;lt;script&amp;amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Code Review Project]]&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Reviewing_Code_for_Data_Validation&amp;diff=43709</id>
		<title>Reviewing Code for Data Validation</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Reviewing_Code_for_Data_Validation&amp;diff=43709"/>
				<updated>2008-10-19T12:17:03Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OWASP Code Review Guide Table of Contents]]__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
One key area in web application security is the validation of data inputted from an external source. Many application exploits are derived from weak input validation on behalf of the application. Weak data validation gives the attacker the opportunity to make the application perform some functionality which it is not meant to do.&lt;br /&gt;
&lt;br /&gt;
==Related Security Activities==&lt;br /&gt;
&lt;br /&gt;
===How to Avoid Cross-site scripting Vulnerabilities===&lt;br /&gt;
&lt;br /&gt;
See the [[:Category:OWASP Guide Project|OWASP Development Guide]] article on [[Data Validation]].&lt;br /&gt;
&lt;br /&gt;
==Canonicalization of input ==&lt;br /&gt;
&lt;br /&gt;
Input can be encoded to a format that can still be interpreted correctly by the application but may not be an obvious avenue of attack.&lt;br /&gt;
&lt;br /&gt;
The encoding of ASCII to Unicode is another method of bypassing input validation. Applications rarely test for Unicode exploits and hence provides the attacker a route of attack.&lt;br /&gt;
&lt;br /&gt;
The issue to remember here is that the application is safe if Unicode representation or other malformed representation is input. The application responds correctly and recognises all possible representations of invalid characters.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
The ASCII: &amp;lt;script&amp;gt; &lt;br /&gt;
&lt;br /&gt;
''(If we simply block “&amp;lt;” and “&amp;gt;” characters the other representations below shall pass data validation and execute).''&lt;br /&gt;
&lt;br /&gt;
URL encoded: %3C%73%63%72%69%70%74%3E&lt;br /&gt;
&lt;br /&gt;
Unicode Encoded: &amp;amp;#60&amp;amp;#115&amp;amp;#99&amp;amp;#114&amp;amp;#105&amp;amp;#112&amp;amp;#116&amp;amp;#62&lt;br /&gt;
&lt;br /&gt;
The OWASP Development Guide delves much more into this subject.&lt;br /&gt;
&lt;br /&gt;
==Data validation strategy ==&lt;br /&gt;
&lt;br /&gt;
A general rule is to accept only “'''Known Good'''” characters, i.e. the characters that are to be expected. If this cannot be done the next strongest strategy is “'''Known bad'''”, where we reject all known bad characters. The issue with this is that today’s known bad list may expand tomorrow as new technologies are added to the enterprise infrastructure.&lt;br /&gt;
&lt;br /&gt;
There are a number of models to think about when designing a data validation strategy, which are listed from the strongest to the weakest as follows. &lt;br /&gt;
&lt;br /&gt;
# '''Exact Match''' (Constrain)            &lt;br /&gt;
# '''Known Good''' (Accept)&lt;br /&gt;
# '''Reject Known bad''' (Reject)&lt;br /&gt;
# '''Encode Known bad''' (Sanitise)&lt;br /&gt;
&lt;br /&gt;
In addition there must be a check for maximum length of any input received from an external source, such as a downstream service/computer or a user at a web browser.&lt;br /&gt;
&lt;br /&gt;
'''Rejected Data must not be persisted to the data store unless it is sanitised. This is a common mistake to log erroneous data but that may be what the attacker wishes your application to do.'''&lt;br /&gt;
&lt;br /&gt;
* '''Exact Match''': (preferred method) Only accept values from a finite list of known values.&lt;br /&gt;
e.g.: A Radio button component on a Web page has 3 settings (A, B, C). Only one of those three settings must be accepted (A or B or C). Any other value must be rejected. &lt;br /&gt;
&lt;br /&gt;
* '''Known Good''': If we do not have a finite list of all the possible values that can be entered into the system, we use the known good approach.&lt;br /&gt;
e.g.: an email address, we know it shall contain one and only one @. It may also have one or more full stops “.”. The rest of the information can be anything from [a-z] or [A-Z] or [0-9] and some other characters such as “_ “or “–“, so we let these ranges in and define a maximum length for the address.&lt;br /&gt;
&lt;br /&gt;
* '''Reject Known bad''': We have a list of known bad values we do not wish to be entered into the system. This occurs on free form text areas and areas where a user may write a note. The weakness of this model is that today known bad may not be sufficient for tomorrow.&lt;br /&gt;
&lt;br /&gt;
* '''Encode Known Bad''': This is the weakest approach. This approach accepts all input but HTML encodes any characters within a certain character range. HTML encoding is done so if the input needs to be redisplayed the browser shall not interpret the text as script, but the text looks the same as what the user originally typed.&lt;br /&gt;
&lt;br /&gt;
'''HTML-encoding and URL-encoding user input when writing back to the client'''. In this case, the assumption is that no input is treated as HTML and all output is written back in a protected form. This is sanitisation in action.&lt;br /&gt;
&lt;br /&gt;
==Good Patterns for Data validation ==&lt;br /&gt;
&lt;br /&gt;
===Data Validation examples ===&lt;br /&gt;
&lt;br /&gt;
A good example of a pattern for data validation to prevent OS injection in PHP applications would be as follows:&lt;br /&gt;
&lt;br /&gt;
  $string = preg_replace(&amp;quot;/[^a-zA-Z0-9]/&amp;quot;, &amp;quot;&amp;quot;, $string);&lt;br /&gt;
&lt;br /&gt;
This code above would replace any non alphanumeric characters with “”.&lt;br /&gt;
'''preg_grep()''' could also be used for a '''''True''''' or '''''False''''' result. This would enable us to let “'''''only known good'''''” characters into the application.&lt;br /&gt;
&lt;br /&gt;
Using regular expressions is a common method of restricting input character types.&lt;br /&gt;
A common mistake in the development of regular expressions is not escaping characters, which are interpreted as control characters, or not validating all avenues of input.&lt;br /&gt;
&lt;br /&gt;
Examples of regular expression are as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;http://www.regxlib.com/CheatSheet.aspx&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  ^[a-zA-Z]+$  	Alpha characters only, a to z and A to Z (RegEx is case sensitive).&lt;br /&gt;
  ^[0-9]+$ 	Numeric only (0 to 9).&lt;br /&gt;
  [abcde] 	Matches any single character specified in set&lt;br /&gt;
  [^abcde] 	Matches any single character not specified in set&lt;br /&gt;
&lt;br /&gt;
===Framework Example:(Struts 1.2) ===&lt;br /&gt;
In the J2EE world the struts framework (1.1) contains a utility called the commons validator. This enables us to do two things.&lt;br /&gt;
&lt;br /&gt;
# Enables us to have a central area for data validation.&lt;br /&gt;
# Provides us with a data validation framework.&lt;br /&gt;
&lt;br /&gt;
What to look for when examining struts is as follows:&lt;br /&gt;
&lt;br /&gt;
The struts-config.xml file must contain the following:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- Validator Configuration --&amp;gt;&lt;br /&gt;
  &amp;lt;plug-in className=&amp;quot;org.apache.struts.validator.ValidatorPlugIn&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;set-property property=&amp;quot;pathnames&amp;quot; value=&amp;quot;/technology/WEB-INF/&lt;br /&gt;
    validator-rules.xml, /WEB-INF/validation.xml&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/plug-in&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This tells the framework to load the validator plug-in. It also loads the property files defined by the comma-separated list. By default a developer would add regular expressions for the defined fields in the validation.xml file.&lt;br /&gt;
&lt;br /&gt;
Next we look at the form beans for the application. In struts, form beans are on the server side and encapsulate the information sent to the application via a HTTP form.&lt;br /&gt;
We can have concrete form beans (built in code by developers) or dynamic form beans. Here is a concrete bean below:&lt;br /&gt;
&lt;br /&gt;
  package com.pcs.necronomicon&lt;br /&gt;
  import org.apache.struts.validator.ValidatorForm;  &lt;br /&gt;
  public class LogonForm extends ValidatorForm {&lt;br /&gt;
    private String username;&lt;br /&gt;
    private String password;    &lt;br /&gt;
    public String getUsername() {&lt;br /&gt;
      return username;&lt;br /&gt;
    }    &lt;br /&gt;
    public void setUsername(String username) {&lt;br /&gt;
      this.username = username;&lt;br /&gt;
    }  &lt;br /&gt;
    public String getPassword() {&lt;br /&gt;
      return password;&lt;br /&gt;
    }&lt;br /&gt;
  public void setPassword(String password) {&lt;br /&gt;
      this.password = password;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Note the LoginForm extends the ValidatorForm, this is a must as the parent class (ValidatorForm) has a validate method which is called automatically and calls the rules defined in validation.xml&lt;br /&gt;
&lt;br /&gt;
Now to be assured that this form bean is being called we look at the struts-config.xml file:&lt;br /&gt;
It should have something like the following:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;form-beans&amp;gt;&lt;br /&gt;
   &amp;lt;form-bean name=&amp;quot;logonForm&amp;quot;&lt;br /&gt;
             type=&amp;quot; com.pcs.necronomicon.LogonForm&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/form-beans&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next we look at the validation.xml file. It should contain something similar to the following:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;form-validation&amp;gt;&lt;br /&gt;
  &amp;lt;formset&amp;gt;&lt;br /&gt;
    &amp;lt;form name=&amp;quot;logonForm&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;field property=&amp;quot;'''username'''&amp;quot; &lt;br /&gt;
            depends=&amp;quot;'''required'''&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;arg0 key=&amp;quot;prompt.username&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/field&amp;gt;&lt;br /&gt;
    &amp;lt;/form&amp;gt;&lt;br /&gt;
  &amp;lt;/formset&amp;gt;&lt;br /&gt;
 &amp;lt;/form-validation&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note the same name in the validation.xml, the struts-config.xml, this is an important relationship and is case sensitive.&lt;br /&gt;
&lt;br /&gt;
The field “username” is also case sensitive and refers to the String username in the LoginForm class.&lt;br /&gt;
&lt;br /&gt;
The “depends” directive dictates that the parameter is required. If this is blank the error defined in '''Application.properties'''. This configuration file contains error messages among other things. It is also a good place to look for information leakage issues:&lt;br /&gt;
&lt;br /&gt;
# Error messages for Validator framework validations&lt;br /&gt;
  errors.required={0} is required.&lt;br /&gt;
  errors.minlength={0} cannot be less than {1} characters.&lt;br /&gt;
  errors.maxlength={0} cannot be greater than {2} characters.&lt;br /&gt;
  errors.invalid={0} is invalid.&lt;br /&gt;
  errors.byte={0} must be a byte.&lt;br /&gt;
  errors.short={0} must be a short.&lt;br /&gt;
  errors.integer={0} must be an integer.&lt;br /&gt;
  errors.long={0} must be a long.0.   &lt;br /&gt;
  errors.float={0} must be a float.&lt;br /&gt;
  errors.double={0} must be a double.&lt;br /&gt;
  errors.date={0} is not a date.&lt;br /&gt;
  errors.range={0} is not in the range {1} through {2}.&lt;br /&gt;
  errors.creditcard={0} is not a valid credit card number.&lt;br /&gt;
  errors.email={0} is an invalid e-mail address.&lt;br /&gt;
  prompt.username = User Name is required.&lt;br /&gt;
&lt;br /&gt;
The error defined by arg0, prompt.username is displayed as an alert box by the struts framework to the user.&lt;br /&gt;
The developer would need to take this a step further by validating the input via regular expression:&lt;br /&gt;
      &amp;lt;field property=&amp;quot;username&amp;quot; &lt;br /&gt;
            depends=&amp;quot;required,mask&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;arg0 key=&amp;quot;prompt.username&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;var&amp;gt;&lt;br /&gt;
            &amp;lt;var-name&amp;gt;mask&amp;lt;/var-name&amp;gt;&lt;br /&gt;
            &amp;lt;var-value&amp;gt;^[0-9a-zA-Z]*$&amp;lt;/var-value&amp;gt;&lt;br /&gt;
        &amp;lt;/var&amp;gt;&lt;br /&gt;
      &amp;lt;/field&amp;gt;&lt;br /&gt;
     &amp;lt;/form&amp;gt;&lt;br /&gt;
   &amp;lt;/formset&amp;gt;&lt;br /&gt;
  &amp;lt;/form-validation&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here we have added the Mask directive, this specifies a variable &amp;lt;nowiki&amp;gt;&amp;lt;var&amp;gt;&amp;lt;/nowiki&amp;gt; and a regular expression. &lt;br /&gt;
Any input into the username field which has anything other than A to Z, a to z or 0 to 9 shall cause an error to be thrown. The most common issue with this type of development is either the developer forgetting to validate all fields or a complete form. &lt;br /&gt;
The other thing to look for is incorrect regular expressions, so learn those RegEx’s kids!!!&lt;br /&gt;
&lt;br /&gt;
We also need to check if the JSP pages have been linked up to the validation.xml finctionaltiy. This is done by &amp;lt;html:javascript&amp;gt; custom tag being included in the JSP as follows:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;html:javascript formName=&amp;quot;logonForm&amp;quot; dynamicJavascript=&amp;quot;true&amp;quot; staticJavascript=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Framework example:(.NET)===&lt;br /&gt;
The ASP .NET framework contains a validator framework, which has made input validation easier and less error prone than in the past.&lt;br /&gt;
The validation solution for .NET also has client and server side functionality akin to Struts (J2EE).&lt;br /&gt;
What is a validator? According to the Microsoft (MSDN) definition it is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;A validator is a control that checks one input control for a specific type of error condition and displays a description of that problem.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The main point to take out of this from a code review perspective is that one validator does one type of function. If we need to do a number of different checks on our input we need to use more than one validator.&lt;br /&gt;
&lt;br /&gt;
The .NET solution contains a number of controls out of the box:&lt;br /&gt;
* ''RequiredFieldValidator'' – Makes the associated input control a required field.&lt;br /&gt;
* ''CompareValidator'' – Compares the value entered by the user into an input control with the value entered into another input control or a constant value.&lt;br /&gt;
* ''RangeValidator'' – Checks if the value of an input control is within a defined range of values.&lt;br /&gt;
* ''RegularExpressionValidator'' – Checks user input against a regular expression.&lt;br /&gt;
 &lt;br /&gt;
The following is an example web page (.aspx) containing validation:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;Validate me baby!&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;  &lt;br /&gt;
  &amp;lt;asp:ValidationSummary runat=server HeaderText=&amp;quot;There were errors on the page:&amp;quot; /&amp;gt;  &lt;br /&gt;
  &amp;lt;form runat=server&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Please enter your User Id&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&lt;br /&gt;
          &amp;lt;asp:RequiredFieldValidator runat=server &lt;br /&gt;
              ControlToValidate=Name ErrorMessage=&amp;quot;User ID is required.&amp;quot;&amp;gt; *&lt;br /&gt;
          &amp;lt;/asp:RequiredFieldValidator&amp;gt;&lt;br /&gt;
      &amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;User ID:&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;input type=text runat=server id=Name&amp;gt;&amp;lt;/td&amp;gt;        &lt;br /&gt;
  &amp;lt;asp:RegularExpressionValidator runat=server display=dynamic&lt;br /&gt;
              controltovalidate=&amp;quot;Name&amp;quot; &lt;br /&gt;
              errormessage=&amp;quot;ID must be 6-8 letters.&amp;quot; &lt;br /&gt;
              validationexpression=&amp;quot;[a-zA-Z0-9]{6,8}&amp;quot; /&amp;gt;  &lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;input type=submit runat=server id=SubmitMe value=Submit&amp;gt;&lt;br /&gt;
  &amp;lt;/form&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remember to check to regular expressions so they are sufficient to protect the application. The “runat” directive means this code is executed at the server prior to being sent to client. When this is displayed to a users' browser the code is simply HTML.&lt;br /&gt;
&lt;br /&gt;
=== Example: Classic ASP ===&lt;br /&gt;
There is not built-in validation in classic ASP pages, however you can use regular expressions to accomplish the task, here is an example or a function with regular expressions to validate a US Zip code&lt;br /&gt;
&lt;br /&gt;
 Public Function IsZipCode (ByVal Text)&lt;br /&gt;
   Dim re&lt;br /&gt;
   set re = new RegExp&lt;br /&gt;
   re.Pattern = &amp;quot;^\d{5}$&amp;quot;&lt;br /&gt;
   IsZipCode = re.Test(Text)&lt;br /&gt;
 End Function&lt;br /&gt;
&lt;br /&gt;
==Length Checking==&lt;br /&gt;
&lt;br /&gt;
Another issue to consider is input length validation. If the input is limited by length this reduces the size of the script that can be injected into the web app.&lt;br /&gt;
&lt;br /&gt;
Many web applications use operating system features and external programs to perform their functions. When a web application passes information from an HTTP request through as part of an external request, it must be carefully data validated for content and min/max length. Without data validation the attacker can inject Meta characters, malicious commands, or command modifiers, masquerading as legitimate information and the web application will blindly pass these on to the external system for execution.&lt;br /&gt;
&lt;br /&gt;
Checking for minimum and maximum length is of paramount importance, even if the code base is not vulnerable to buffer overflow attacks.&lt;br /&gt;
&lt;br /&gt;
If a logging mechanism is employed to log all data used in a particular transaction we need to ensure that the payload received is not so big that it may affect the logging mechanism.&lt;br /&gt;
If the log file is sent a very large payload it may crash. Or if it is sent a very large payload repeatedly, the hard disk of the app server may fill causing a denial of service. This type of attack can be used to recycle the log file, hence removing the audit trail.&lt;br /&gt;
If string parsing is performed on the payload received by the application and an extremely large string is sent repeatedly to the application, the CPU cycles used by the application to parse the payload may cause service degradation or even denial of service.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Never Rely on Client-Side Data Validation ==&lt;br /&gt;
&lt;br /&gt;
''Client-side validation can always be bypassed.''&lt;br /&gt;
''Server-side code should perform its own validation. What if an attacker bypasses your client, or shuts off your client-side script routines, for example, by disabling JavaScript? ''&lt;br /&gt;
''Use client-side validation to help reduce the number of round trips to the server but do not rely on it for security.''&lt;br /&gt;
'''Remember: Data validation must be always done on the server side.'''&lt;br /&gt;
'''A code review focuses on server side code. Any client side security code is not and cannot be considered security.'''&lt;br /&gt;
&lt;br /&gt;
Data validation of parameter names:&lt;br /&gt;
&lt;br /&gt;
When data is passed to a method of a web application via HTTP the payload is passed in a “key-value” pair such as &lt;br /&gt;
''  UserId =3o1nk395y''&lt;br /&gt;
''  password=letMeIn123''&lt;br /&gt;
&lt;br /&gt;
Previously we talked about input validation of the payload (parameter value) being passed to the application. But we also may need to check that the parameter name (''UserId'',''password'' from above) have not been tampered with.&lt;br /&gt;
Invalid parameter names may cause the application to crash or act in an unexpected way.&lt;br /&gt;
The best approach is “Exact Match” as mentioned previously. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Web services data validation==&lt;br /&gt;
&lt;br /&gt;
The recommended input validation technique for web services is to use a schema. A schema is a “map” of all the allowable values that each parameter can take for a given web service method.&lt;br /&gt;
When a SOAP message is received by the web services handler, the schema pertaining to the method being called is “run over” the message to validate the content of the soap message. &lt;br /&gt;
There are two types of web service communication methods; XML-IN/XML-OUT and REST (Representational State Transfer). &lt;br /&gt;
XML-IN/XML-OUT means that the request is in the form of a SOAP message and the reply is also SOAP. REST web services accept a URI request (Non XML) but return a XML reply. REST only supports a point-to-point solution wherein SOAP chain of communication may have multiple nodes prior to the final destination of the request.&lt;br /&gt;
Validating REST web services input is the same as validating a GET request. Validating an XML request is best done with a schema.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;xsd:schema xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;http://server.test.com&amp;quot; targetNamespace=&amp;quot;http://server.test.com&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; attributeFormDefault=&amp;quot;unqualified&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;xsd:complexType name=&amp;quot;AddressIn&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;xsd:sequence&amp;gt;&lt;br /&gt;
 	&amp;lt;xsd:element name=&amp;quot;addressLine1&amp;quot; type=&amp;quot;HundredANumeric&amp;quot; nillable=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
 	&amp;lt;xsd:element name=&amp;quot;addressLine2&amp;quot; type=&amp;quot;HundredANumeric&amp;quot; nillable=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
 	&amp;lt;xsd:element name=&amp;quot;county&amp;quot; type=&amp;quot;TenANumeric&amp;quot; nillable=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
 	&amp;lt;xsd:element name=&amp;quot;town&amp;quot; type=&amp;quot;TenANumeric&amp;quot; nillable=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
 	&amp;lt;xsd:element name=&amp;quot;userId&amp;quot; type=&amp;quot;TenANumeric&amp;quot; nillable=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/xsd:sequence&amp;gt;&lt;br /&gt;
 &amp;lt;/xsd:complexType&amp;gt;&lt;br /&gt;
 &amp;lt;xsd:simpleType name=&amp;quot;HundredANumeric&amp;quot;&amp;gt;&lt;br /&gt;
 	'''&amp;lt;xsd:restriction base=&amp;quot;xsd:string&amp;quot;&amp;gt;'''&lt;br /&gt;
 		&amp;lt;xsd:minLength value=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
 		&amp;lt;xsd:maxLength value=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
 		&amp;lt;xsd:pattern value=&amp;quot;[a-zA-Z0-9]&amp;quot;/&amp;gt;&lt;br /&gt;
 	&amp;lt;/xsd:restriction&amp;gt;&lt;br /&gt;
 	&amp;lt;/xsd:simpleType&amp;gt;&lt;br /&gt;
 	&amp;lt;xsd:simpleType name=&amp;quot;TenANumeric&amp;quot;&amp;gt;&lt;br /&gt;
 		'''&amp;lt;xsd:restriction base=&amp;quot;xsd:string&amp;quot;&amp;gt;'''&lt;br /&gt;
 			&amp;lt;xsd:minLength value=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
 			&amp;lt;xsd:maxLength value=&amp;quot;10&amp;quot;/&amp;gt;&lt;br /&gt;
 			&amp;lt;xsd:pattern value=&amp;quot;[a-zA-Z0-9]&amp;quot;/&amp;gt;&lt;br /&gt;
 		&amp;lt;/xsd:restriction&amp;gt;&lt;br /&gt;
 	&amp;lt;/xsd:simpleType&amp;gt;&lt;br /&gt;
 &amp;lt;/xsd:schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here we have a schema for an object called AddressIn. Each of the elements have restrictions applied to them and the restrictions (in red) define what valid characters can be inputted into each of the elements.&lt;br /&gt;
What we need to look for is that each of the elements have a restriction applied to them, as opposed to the simple type definition such as '''xsd:string'''.&lt;br /&gt;
This schema also has the &amp;lt;xsd:sequence&amp;gt; tag applied to enforce the sequence of the data that is to be received.&lt;br /&gt;
&lt;br /&gt;
==Vulnerable code and the associated fix==&lt;br /&gt;
&lt;br /&gt;
Example one - Perl &lt;br /&gt;
&lt;br /&gt;
The following snippet of Perl code demonstrates code which is vulnerable to XSS. &lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl &lt;br /&gt;
 use CGI; &lt;br /&gt;
 my $cgi = CGI-&amp;gt;new(); &lt;br /&gt;
 my $value = $cgi-&amp;gt;param('value'); &lt;br /&gt;
 print $cgi-&amp;gt;header(); &lt;br /&gt;
 print &amp;quot;You entered $value&amp;quot;; &lt;br /&gt;
&lt;br /&gt;
The code blindly accepts and data supplied in the parameter labeled 'value'. To add to this &lt;br /&gt;
problem of accepting data with no validation, the code will display the inputted data to the user. &lt;br /&gt;
If you have read this far into the paper I hope the light bulb is now flashing above your head &lt;br /&gt;
with the realisation that this particular vulnerability would allow a Reflected XSS attack to occur. &lt;br /&gt;
&lt;br /&gt;
The 'value' parameter should validate the supplied data and only print data which has been &lt;br /&gt;
'cleaned' by the validation filter. There are multiple options available with Perl to validate &lt;br /&gt;
this parameter correctly. Firstly a simple and crude filter is shown below: &lt;br /&gt;
&lt;br /&gt;
 $value =~ s/[^A-Za-z0-9 ]*/ /g; &lt;br /&gt;
&lt;br /&gt;
This will restrict the data in the parameter to uppercase, lowercase, spaces and numbers only. &lt;br /&gt;
This of course removes the dangerous characters we have associated with XSS such as &amp;lt; and &amp;gt;. &lt;br /&gt;
&lt;br /&gt;
A second option would be to use the HTML::Entities module for Perl which will force HTML &lt;br /&gt;
encoding on the inputted data. I have changed the code to incorporate the HTML::Entities &lt;br /&gt;
module and given an example out the encoding in action.&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl &lt;br /&gt;
 use CGI; &lt;br /&gt;
 use HTML::Entities; &lt;br /&gt;
 my $cgi = CGI-&amp;gt;new(); &lt;br /&gt;
 my $value = $cgi-&amp;gt;param('value'); &lt;br /&gt;
 print $cgi-&amp;gt;header(); &lt;br /&gt;
 print &amp;quot;You entered &amp;quot;, HTML::Entities::encode($value); &lt;br /&gt;
&lt;br /&gt;
If the data provided was &amp;lt;nowiki&amp;gt;&amp;lt;SCRIPT&amp;gt;alert(“XSS”)&amp;lt;/SCRIPT&amp;gt;&amp;lt;/nowiki&amp;gt; the HTML::Entities module would &lt;br /&gt;
produce the following output: &lt;br /&gt;
&lt;br /&gt;
 &amp;amp;amp;lt;SCRIPT&amp;amp;amp;gt;alert(&amp;amp;amp;quot;XSS&amp;amp;amp;quot;)&amp;amp;amp;lt;/SCRIPT&amp;amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would remove the threat posed by the original input.&lt;br /&gt;
&lt;br /&gt;
'''Example two - PHP''' &lt;br /&gt;
&lt;br /&gt;
PHP allows users to create dynamic web pages quite easily and this led to many implementations of PHP which lacked any security thought. &lt;br /&gt;
&lt;br /&gt;
The example provided below shows very simple PHP message board which has been setup without sufficient data validation.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;form&amp;gt; &lt;br /&gt;
 &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;inputs&amp;quot;&amp;gt;&amp;lt;br /&amp;gt; &lt;br /&gt;
 &amp;lt;input type=&amp;quot;submit&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;/form&amp;gt; &lt;br /&gt;
 &amp;lt;?php &lt;br /&gt;
 if (isset($_GET['inputs'])) &lt;br /&gt;
 { &lt;br /&gt;
    $fp = fopen('./inputs.txt', 'a'); &lt;br /&gt;
    fwrite($fp, &amp;quot;{$_GET['inputs']}&amp;lt;br /&amp;gt;&amp;quot;); &lt;br /&gt;
    fclose($fp); &lt;br /&gt;
 } &lt;br /&gt;
 readfile('./inputs.txt'); &lt;br /&gt;
 ?&amp;gt; &lt;br /&gt;
&lt;br /&gt;
You can see that this simple form takes the user inputs and writes it to the file named inputs.txt. &lt;br /&gt;
&lt;br /&gt;
This file is then used to write the message to the message board for other users to see. The &lt;br /&gt;
danger posed by this form should be clear straight away, the initial input is not subject to any &lt;br /&gt;
kind of validation and is presented to other users as malicious code. &lt;br /&gt;
&lt;br /&gt;
This could have been avoided by implementing simple validation techniques. PHP allows the developer to use the htmlentities() function. I have added the htmlentities() to the form: &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;form&amp;gt; &lt;br /&gt;
 &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;inputs&amp;quot;&amp;gt;&amp;lt;br /&amp;gt; &lt;br /&gt;
 &amp;lt;input type=&amp;quot;submit&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;/form&amp;gt; &lt;br /&gt;
 &amp;lt;?php &lt;br /&gt;
 if (isset($_GET['inputs'])) &lt;br /&gt;
 { &lt;br /&gt;
    $message = htmlentities($_GET['inputs']); &lt;br /&gt;
    $fp = fopen('./inputs.txt', 'a'); &lt;br /&gt;
    fwrite($fp, &amp;quot;$inputs&amp;lt;br /&amp;gt;&amp;quot;); &lt;br /&gt;
    fclose($fp); &lt;br /&gt;
 } &lt;br /&gt;
 readfile('./inputs.txt'); &lt;br /&gt;
 ?&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The addition is simple but the benefits gained can be substantial. The messageboard now has some protection against any script code that could have been entered by a malicious user. The code will now be HTML entity encoded by the htmlentities() function. &lt;br /&gt;
&lt;br /&gt;
'''Example three – Classic ASP''' &lt;br /&gt;
Just like in PHP, ASP pages allow dynamic content creation, so for a XSS vulnerable code like the following:&lt;br /&gt;
&lt;br /&gt;
 Response.Write &amp;quot;Please confirm your name is &amp;quot; &amp;amp; Request.Form(&amp;quot;UserFullName&amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
We will user HTMLEncode Built-in function in the following way&lt;br /&gt;
	&lt;br /&gt;
 Response.Write &amp;quot;Please confirm your name is &amp;quot; &amp;amp; Server.HTMLEncode (Request.Form(&amp;quot;UserFullName&amp;quot;))&lt;br /&gt;
	&lt;br /&gt;
'''Example four – JavaScript''' &lt;br /&gt;
The fourth and final example we will look at is JavaScript code, again we will show a vulnerable piece of code and then the same code with data validation in place.&lt;br /&gt;
&lt;br /&gt;
We will observe some vulnerable JavaScript which takes the users name from the URL and used this to create a welcome message. &lt;br /&gt;
&lt;br /&gt;
The vulnerable script is displayed below: &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT&amp;gt; &lt;br /&gt;
 var pos=document.URL.indexOf(&amp;quot;name=&amp;quot;)+5; &lt;br /&gt;
 document.write(document.URL.substring(pos,document.URL.length)); &lt;br /&gt;
 &amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The problem with this script was discussed earlier, there is no validation of the value provide for “name=”. &lt;br /&gt;
&lt;br /&gt;
I have fixed the script below using a very simple validation technique. &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT&amp;gt; &lt;br /&gt;
 var pos=document.URL.indexOf(&amp;quot;name=&amp;quot;)+5; &lt;br /&gt;
 var name=document.URL.substring(pos,document.URL.length); &lt;br /&gt;
 if (name.match(/^[a-zA-Z]$/)) &lt;br /&gt;
  { &lt;br /&gt;
  document.write(name); &lt;br /&gt;
  } &lt;br /&gt;
 else &lt;br /&gt;
 { &lt;br /&gt;
 window.alert(&amp;quot;Invalid input!&amp;quot;); &lt;br /&gt;
 } &lt;br /&gt;
 &amp;lt;/SCRIPT&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The 3rd line of the script ensures that the characters are restricted to uppercase, and lowercase for the user name. Should the value provided violate this, an invalid input error will be returned to the user. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Code Review Project]]&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Reviewing_Code_for_SQL_Injection&amp;diff=43423</id>
		<title>Reviewing Code for SQL Injection</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Reviewing_Code_for_SQL_Injection&amp;diff=43423"/>
				<updated>2008-10-15T21:09:48Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OWASP Code Review Guide Table of Contents]]__TOC__&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
A [[SQL injection]] attack consists of insertion or &amp;quot;injection&amp;quot; of a SQL query via the input data from the client to the application. A successful SQL injection exploit can read sensitive data from the database, modify database data (Insert/Update/Delete), execute administration operations on the database (such as shutdown the DBMS), recover the content of a given file present on the DBMS file system and in some cases issue commands to the operating system. &lt;br /&gt;
SQL injection attacks are a type of  [[Top 10 2007-Injection Flaws | injection attack]], in which SQL commands are injected into data-plane input in order to effect the execution of predefined SQL commands.&lt;br /&gt;
&lt;br /&gt;
==Related Security Activities==&lt;br /&gt;
&lt;br /&gt;
===Description of SQL Injection Vulnerabilities===&lt;br /&gt;
&lt;br /&gt;
See the OWASP article on [[SQL Injection]] Vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
See the OWASP article on [[Blind_SQL_Injection]] Vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
===How to Avoid SQL Injection Vulnerabilities===&lt;br /&gt;
&lt;br /&gt;
See the [[:Category:OWASP Guide Project|OWASP Development Guide]] article on how to [[Guide to SQL Injection | Avoid SQL Injection]] Vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
===How to Test for SQL Injection Vulnerabilities===&lt;br /&gt;
&lt;br /&gt;
See the [[:Category:OWASP Testing Project|OWASP Testing Guide]] article on how to [[Testing for SQL Injection|Test for SQL Injection]] Vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
== How to locate potentially vulnerable code ==&lt;br /&gt;
&lt;br /&gt;
A secure way to build SQL statements is to construct all queries with PreparedStatement instead of Statement and/or to use parameterized stored procedures. &lt;br /&gt;
Parameterized stored procedures are compiled before user input is added, making it impossible for a hacker to modify the actual SQL statement.&lt;br /&gt;
&lt;br /&gt;
The account used to make the database connection must have “Least privilege.” If the application only requires read access then the account must be given read access only.&lt;br /&gt;
&lt;br /&gt;
Avoid disclosing error information: Weak error handling is a great way for an attacker to profile SQL injection attacks. Uncaught SQL errors normally give too much information to the user and contain things like table names and procedure names.&lt;br /&gt;
&lt;br /&gt;
== Best practices when dealing with DB’s ==&lt;br /&gt;
&lt;br /&gt;
Use Database stored procedures, but even stored procedures can be vulnerable.&lt;br /&gt;
Use parameterized queries instead of dynamic SQL statements.&lt;br /&gt;
Data validate all external input:&lt;br /&gt;
Ensure that all SQL statements recognize user inputs as variables, and that statements are precompiled before the actual inputs are substituted for the variables in Java.&lt;br /&gt;
&lt;br /&gt;
== SQL Injection Example: ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
String DRIVER = &amp;quot;com.ora.jdbc.Driver&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
String DataURL = &amp;quot;jdbc:db://localhost:5112/users&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
String LOGIN = &amp;quot;admin&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
String PASSWORD = &amp;quot;admin123&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Class.forName(DRIVER);&lt;br /&gt;
&lt;br /&gt;
//Make connection to DB&lt;br /&gt;
Connection connection = DriverManager.getConnection(DataURL, LOGIN, PASSWORD);&lt;br /&gt;
&lt;br /&gt;
String Username = request.getParameter(&amp;quot;USER&amp;quot;); // From HTTP request&lt;br /&gt;
&lt;br /&gt;
String Password = request.getParameter(&amp;quot;PASSWORD&amp;quot;); // From HTTP request&lt;br /&gt;
&lt;br /&gt;
int iUserID = -1;&lt;br /&gt;
&lt;br /&gt;
String sLoggedUser = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
String sel = &amp;quot;SELECT User_id, Username FROM USERS WHERE Username = '&amp;quot; +Username + &amp;quot;' AND Password = '&amp;quot; + Password + &amp;quot;'&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Statement selectStatement = connection.createStatement ();&lt;br /&gt;
ResultSet resultSet = selectStatement.executeQuery(sel);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if (resultSet.next()) {&lt;br /&gt;
&lt;br /&gt;
       iUserID = resultSet.getInt(1);&lt;br /&gt;
       sLoggedUser = resultSet.getString(2);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
PrintWriter writer = response.getWriter ();&lt;br /&gt;
&lt;br /&gt;
if (iUserID &amp;gt;= 0) {&lt;br /&gt;
       writer.println (&amp;quot;User logged in: &amp;quot; + sLoggedUser);&lt;br /&gt;
} else {&lt;br /&gt;
&lt;br /&gt;
       writer.println (&amp;quot;Access Denied!&amp;quot;)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When SQL statements are dynamically created as software executes, there is an opportunity for a &lt;br /&gt;
security breach as the input data can truncate or malform or even expand the original SQL query!&lt;br /&gt;
&lt;br /&gt;
Firstly the request.getParameter retrieves the data for the SQL query directly from the HTTP request without any data validation (Min/Max length, Permitted characters, Malicious characters). This error gives rise to the ability to input SQL as the payload and alter the functionality in the statement.&lt;br /&gt;
&lt;br /&gt;
The application places the payload directly into the statement causing the SQL vulnerability:&lt;br /&gt;
&lt;br /&gt;
String sel = &amp;quot;SELECT User_id, Username FROM USERS WHERE Username = '&amp;quot; Username + &amp;quot;' AND Password = '&amp;quot; + Password + &amp;quot;'&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
== .NET ==&lt;br /&gt;
&lt;br /&gt;
Parameter collections such as SqlParameterCollection provide type checking and length validation. If you use a parameters collection, input is treated as a literal value, and SQL Server does not treat it as executable code and therefore the payload can not be injected. Using a parameters collection lets you enforce type and length checks. Values outside of the range trigger an exception. Make sure you handle the exception correctly.&lt;br /&gt;
Example of the SqlParameterCollection:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using System.Data;&lt;br /&gt;
&lt;br /&gt;
using System.Data.SqlClient;&lt;br /&gt;
&lt;br /&gt;
using (SqlConnection conn = new SqlConnection(connectionString))&lt;br /&gt;
{&lt;br /&gt;
  DataSet dataObj = new DataSet();&lt;br /&gt;
&lt;br /&gt;
  SqlDataAdapter sqlAdapter = new SqlDataAdapter( &amp;quot;StoredProc&amp;quot;, conn);&lt;br /&gt;
&lt;br /&gt;
  sqlAdapter.SelectCommand.CommandType = CommandType.StoredProcedure;&lt;br /&gt;
&lt;br /&gt;
 //specify param type&lt;br /&gt;
&lt;br /&gt;
  sqlAdapter.SelectCommand.Parameters.Add(&amp;quot;@usrId&amp;quot;, SqlDbType.VarChar, 15); &lt;br /&gt;
&lt;br /&gt;
  sqlAdapter.SelectCommand.Parameters[&amp;quot;@usrId &amp;quot;].Value = UID.Text; // Add data from user&lt;br /&gt;
&lt;br /&gt;
  sqlAdapter.Fill(dataObj); // populate and execute proc&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Stored procedures don’t always protect against SQL injection:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CREATE PROCEDURE dbo.RunAnyQuery &lt;br /&gt;
@parameter NVARCHAR(50)&lt;br /&gt;
&lt;br /&gt;
AS&lt;br /&gt;
        EXEC sp_executesql @parameter&lt;br /&gt;
GO&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above procedure shall execute any SQL you pass to it. The directive sp_executesql is a system stored procedure in Microsoft® SQL Server™&lt;br /&gt;
&lt;br /&gt;
Lets pass it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DROP TABLE ORDERS;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Guess what happens? So we must be careful of not falling into the “We’re secure, we are using stored procedures” trap!&lt;br /&gt;
&lt;br /&gt;
== Classic ASP ==&lt;br /&gt;
For this technology you can use parameterized queries to avoid Sql injection attacks. Here is a good example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;% &lt;br /&gt;
    option explicit&lt;br /&gt;
    dim conn, cmd, recordset, iTableIdValue&lt;br /&gt;
    &lt;br /&gt;
    'Create Connection&lt;br /&gt;
    set conn=server.createObject(&amp;quot;ADODB.Connection&amp;quot;)&lt;br /&gt;
    conn.open &amp;quot;DNS=LOCAL&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    'Create Command&lt;br /&gt;
    set cmd = server.createobject(&amp;quot;ADODB.Command&amp;quot;)&lt;br /&gt;
    With cmd&lt;br /&gt;
	    .activeconnection=conn&lt;br /&gt;
	    .commandtext=&amp;quot;Select * from DataTable where Id = @Parameter&amp;quot;&lt;br /&gt;
	    'Create the parameter and set its value to 1&lt;br /&gt;
	    .Parameters.Append .CreateParameter(&amp;quot;@Parameter&amp;quot;, adInteger, adParamInput, , 1)&lt;br /&gt;
    End With&lt;br /&gt;
    'Get the information in a RecordSet&lt;br /&gt;
    set recordset = server.createobject(&amp;quot;ADODB.Recordset&amp;quot;)&lt;br /&gt;
    recordset.Open cmd, conn&lt;br /&gt;
    '....&lt;br /&gt;
    'Do whatever is needed with the information&lt;br /&gt;
    '....&lt;br /&gt;
    'Do clean up&lt;br /&gt;
    recordset.Close&lt;br /&gt;
    conn.Close&lt;br /&gt;
    set recordset = nothing&lt;br /&gt;
    set cmd = nothing&lt;br /&gt;
    set conn = nothing&lt;br /&gt;
%&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice that this is Sql Server Specific code if you would use a ODBC/Jet connection to another DB which ISAM supports parameterized queries you should change your query to the following:&lt;br /&gt;
&lt;br /&gt;
 cmd.commandtext=&amp;quot;Select * from DataTable where Id = ?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Finally there is always a way of doing things '''wrong''' you can '''(but should not)''' do the following:&lt;br /&gt;
&lt;br /&gt;
 cmd.commandtext=&amp;quot;Select * from DataTable where Id = &amp;quot; &amp;amp; Request.QueryString(&amp;quot;Parameter&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Code Review Project]]&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Reviewing_Code_for_OS_Injection&amp;diff=43327</id>
		<title>Reviewing Code for OS Injection</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Reviewing_Code_for_OS_Injection&amp;diff=43327"/>
				<updated>2008-10-14T19:10:08Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OWASP Code Review Guide Table of Contents]]__TOC__&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Injection flaws allow attackers to pass malicious code through a web application to another sub system.&lt;br /&gt;
Depending on the subsystem, different types of injection attack can be performed:&lt;br /&gt;
RDBMS: SQL Injection&lt;br /&gt;
WebBrowser/Appserver: SQL Injection&lt;br /&gt;
OS-shell: Operating system commands Calling external applications from your application.&lt;br /&gt;
&lt;br /&gt;
OS Commanding is one of the attack classes that fall into [http://www.webappsec.org/projects/threat/classes/os_commanding.shtml Injection Flaws]. In other classifications, it is placed in [http://www.fortify.com/vulncat/index.html Input Validation and Representation] category, [[Top_10_2007-A2|OS Commanding]] threat class or defined as [http://cwe.mitre.org/data/definitions/77.html Failure to Sanitize Data into Control Plane] weakness and [http://capec.mitre.org/data/definitions/6.html Argument Injection] attack pattern enumeration. OS Commanding happens when an application accepts untrusted/insecure input and passes it to external applications (either as the application name itself or arguments) without validation or a proper escaping.&lt;br /&gt;
&lt;br /&gt;
==How to locate the potentially vulnerable code ==&lt;br /&gt;
&lt;br /&gt;
Many developers believe text fields are the only areas for data validation. This is an incorrect assumption. Any external input must be data validated:&lt;br /&gt;
&lt;br /&gt;
Text fields, List boxes, radio buttons, check boxes, cookies, HTTP header data, HTTP post data, hidden fields, parameter names and parameter values.&lt;br /&gt;
… This is not an exhaustive list.&lt;br /&gt;
&lt;br /&gt;
“Process to process” or “entity-to-entity” communication must be investigated also. Any code that communicates with an upstream or downstream process and accepts input from it must be reviewed.&lt;br /&gt;
&lt;br /&gt;
All injection flaws are input-validation errors. The presence of an injection flaw is an indication of incorrect data validation on the input received from an external source outside the boundary of trust, which gets more blurred every year.&lt;br /&gt;
&lt;br /&gt;
Basically for this type of vulnerability we need to find all input streams into the application. This can be from a users browser, CLI or fat client but also from upstream processes that “feed” our application.&lt;br /&gt;
&lt;br /&gt;
An example would be to search the code base for the use of API’s or packages that are normally used for communication purposes.&lt;br /&gt;
&lt;br /&gt;
The '''java.io''', '''java.sql''', '''java.net''', '''java.rmi''', '''java.xml''' packages are all used for application communication. Searching for methods from those packages in the code base can yield results. A less “scientific” method is to search for common keywords such as “UserID”, “LoginID” or “Password”.&lt;br /&gt;
&lt;br /&gt;
== Vulnerable Patterns for OS injection ==&lt;br /&gt;
What we should be looking for are relationships between the application and the operating system; the application-utilising functions of the underlying operating system.&lt;br /&gt;
&lt;br /&gt;
In Java using the Runtime object, '''java.lang.Runtime''' does this.&lt;br /&gt;
In .NET calls such as '''System.Diagnostics.Process.Start '''are used to call underlying OS functions. &lt;br /&gt;
In PHP we may look for calls such as '''exec()''' or '''passthru()'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Example''':&lt;br /&gt;
&lt;br /&gt;
We have a class that eventually gets input from the user via a HTTP request.&lt;br /&gt;
This class is used to execute some native exe on the application server and return a result.&lt;br /&gt;
&lt;br /&gt;
 public class DoStuff {&lt;br /&gt;
 public string executeCommand(String userName)&lt;br /&gt;
 {	try {&lt;br /&gt;
 		String myUid = userName;&lt;br /&gt;
 		Runtime rt = Runtime.getRuntime();&lt;br /&gt;
 		rt.exec(&amp;quot;'''''cmd.exe /C''''' doStuff.exe &amp;quot; +”-“ +myUid); // Call exe with userID&lt;br /&gt;
 	}catch(Exception e)&lt;br /&gt;
 		{&lt;br /&gt;
 e.printStackTrace();&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The method executeCommand calls '''''doStuff.exe''''' (utilizing cmd.exe) via the '''''java.lang.runtime''''' static method '''''getRuntime()'''''. The parameter passed is not validated in any way in this class. We are assuming that the data has not been data validated prior to calling this method. ''Transactional analysis should have encountered any data validation prior to this point.''&lt;br /&gt;
Inputting “Joe69” would result in the following MS DOS command:&lt;br /&gt;
'''''doStuff.exe –Joe69'''''&lt;br /&gt;
Lets say we input '''''Joe69 &amp;amp; netstat –a''''' we would get the following response:&lt;br /&gt;
The exe doStuff would execute passing in the User Id Joe69, but then the dos command '''''netstat''''' would be called. How this works is the passing of the parameter “&amp;amp;” into the application, which in turn is used as a command appender in MS DOS and hence the command after the &amp;amp; character is executed.&lt;br /&gt;
&lt;br /&gt;
This wouldn't be true, if the code above was written as (here we assume that '''''doStuff.exe''''' doesn't act as an command interpreter, such as cmd.exe or /bin/sh);&lt;br /&gt;
&lt;br /&gt;
 public class DoStuff {&lt;br /&gt;
 public string executeCommand(String userName)&lt;br /&gt;
 {	try {&lt;br /&gt;
 		String myUid = userName;&lt;br /&gt;
 		Runtime rt = Runtime.getRuntime();&lt;br /&gt;
 		rt.exec(&amp;quot;doStuff.exe &amp;quot; +”-“ +myUid); // Call exe with userID&lt;br /&gt;
 	}catch(Exception e)&lt;br /&gt;
 		{&lt;br /&gt;
 e.printStackTrace();&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Why? From [http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runtime.html Java 2 documentation];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'' ... More precisely, the given command string is broken into tokens using a StringTokenizer created by the call new StringTokenizer(command) with no further modification of the character categories. The tokens produced by the tokenizer are then placed in the new string array cmdarray, in the same order ... ''&lt;br /&gt;
&lt;br /&gt;
So the produced array contains the executable (the first item) to call and its arguments (the rest of the arguments). So, unless the first item to be called is an application which parses the arguments and interprets them and further call other external applications according to them, it wouldn't be possible to execute '''''netstat''''' in the above code snippet. Such a first item to be called would be '''''cmd.exe''''' in Windows boxes or '''''sh''''' in Unix-like boxes.&lt;br /&gt;
&lt;br /&gt;
Most of the out-of-box source code/assembly analyzers would (and some wouldn't!) flag a ''Command Execution'' issue when they encounter the dangerous APIs; '''''System.Diagnostics.Process.Start''''', '''''java.lang.Runtime.exec'''''. However, obviously, the calculated risk should differ. In the first example, the &amp;quot;command injection&amp;quot; is there, whereas, in the second one without any validation nor escaping what can be called as &amp;quot;argument injection&amp;quot; vulnerability exists. So, sure the risk is still there but the severity depends on the command being called. So, the issue needs analysis.&lt;br /&gt;
&lt;br /&gt;
UNIX:&lt;br /&gt;
&lt;br /&gt;
An attacker might insert the string '''“; cat /etc/hosts”''' and the contents of the UNIX hosts file might be exposed to the attacker if the command is executed through a shell such as /bin/bash or /bin/sh. &lt;br /&gt;
&lt;br /&gt;
.NET Example:&lt;br /&gt;
 namespace ExternalExecution&lt;br /&gt;
 {&lt;br /&gt;
 class CallExternal&lt;br /&gt;
 {&lt;br /&gt;
 static void Main(string[] args)&lt;br /&gt;
 {&lt;br /&gt;
 String arg1=args[0];&lt;br /&gt;
 System.Diagnostics.Process.Start(&amp;quot;doStuff.exe&amp;quot;, arg1);&lt;br /&gt;
 }&lt;br /&gt;
 }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Yet again there is no data validation to speak of here, assuming that there is no upstream validation occurring in another class.&lt;br /&gt;
&lt;br /&gt;
Classic ASP Example:&lt;br /&gt;
 &amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;% &lt;br /&gt;
   option explicit&lt;br /&gt;
   dim wshell&lt;br /&gt;
   set wshell = CreateObject(&amp;quot;WScript.Shell&amp;quot;) &lt;br /&gt;
   wshell.run &amp;quot;c:\file.bat &amp;quot; &amp;amp; Request.Form(&amp;quot;Args&amp;quot;)&lt;br /&gt;
   set wshell = nothing &lt;br /&gt;
 %&amp;gt;&lt;br /&gt;
 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These attacks include calls to the operating system via system calls, the use of external programs via shell commands, as well as calls to backend databases via SQL (i.e. SQL injection). Complete scripts written in Perl, Python, shell, bat and other languages can be injected into poorly designed web applications and executed.&lt;br /&gt;
&lt;br /&gt;
==Good Patterns &amp;amp; procedures to prevent OS injection==&lt;br /&gt;
&lt;br /&gt;
See the Data Validation section.&lt;br /&gt;
&lt;br /&gt;
==Related Articles==&lt;br /&gt;
[[Command Injection]]&lt;br /&gt;
&lt;br /&gt;
[[Interpreter Injection]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Code Review Project]]&lt;br /&gt;
[[Category:Input Validation]]&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Reviewing_Code_for_Buffer_Overruns_and_Overflows&amp;diff=43326</id>
		<title>Reviewing Code for Buffer Overruns and Overflows</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Reviewing_Code_for_Buffer_Overruns_and_Overflows&amp;diff=43326"/>
				<updated>2008-10-14T18:58:38Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OWASP Code Review Guide Table of Contents]]__TOC__&lt;br /&gt;
&lt;br /&gt;
==The Buffer ==&lt;br /&gt;
&lt;br /&gt;
A Buffer is an amount of contiguous memory set aside for storing information.   Example: A program has to remember certain things, like what your shopping cart contains or what data was inputted prior to the current operation. This information is stored in memory in a buffer.&lt;br /&gt;
&lt;br /&gt;
==Related Security Activities==&lt;br /&gt;
&lt;br /&gt;
===Description of Buffer Overflow===&lt;br /&gt;
&lt;br /&gt;
See the OWASP article on [[Buffer_overflow_attack|Buffer Overflow]] Attacks.&lt;br /&gt;
&lt;br /&gt;
See the OWASP article on [[Buffer_Overflow|Buffer Overflow]] Vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
===How to Avoid Buffer Overflow Vulnerabilities===&lt;br /&gt;
&lt;br /&gt;
See the [[:Category:OWASP Guide Project|OWASP Development Guide]] article on how to [[Buffer_Overflows|Avoid Buffer Overflow]] Vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
===How to Test for Buffer Overflow Vulnerabilities===&lt;br /&gt;
&lt;br /&gt;
See the [[:Category:OWASP Testing Project|OWASP Testing Guide]] article on how to [[Testing_for_Buffer_Overflow|Test for Buffer Overflow]] Vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
==How to locate the potentially vulnerable code==&lt;br /&gt;
&lt;br /&gt;
In locating potentially vulnerable code from a buffer overflow standpoint, one should look for particular signatures such as:&lt;br /&gt;
&lt;br /&gt;
'''Arrays''':&lt;br /&gt;
  int x[20];&lt;br /&gt;
  int y[20][5];&lt;br /&gt;
  int x[20][5][3];&lt;br /&gt;
&lt;br /&gt;
'''Format Strings:'''&lt;br /&gt;
  printf() ,fprintf(), sprintf(), snprintf().&lt;br /&gt;
  %x, %s, %n, %d, %u, %c, %f&lt;br /&gt;
&lt;br /&gt;
'''Over flows:'''&lt;br /&gt;
&lt;br /&gt;
  strcpy (), strcat (), sprintf (), vsprintf ()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Vulnerable Patterns for buffer overflows==&lt;br /&gt;
&lt;br /&gt;
===‘Vanilla’ buffer overflow: ===&lt;br /&gt;
&lt;br /&gt;
Example: A program might want to keep track of the days of the week (7). The programmer tells the computer to store a space for 7 numbers.  This is an example of a buffer. But what happens if an attempt to add 8 numbers is performed?&lt;br /&gt;
Languages such as C and C++ do not perform bounds checking and therefore if the program is written in such a language the 8th piece of data would overwrite the program space of the next program in memory would result in data corruption.&lt;br /&gt;
This can cause the program to crash at a minimum or a carefully crafted overflow can cause malicious code to be executed, as the overflow payload is actual code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  void copyData(char *userId) {  &lt;br /&gt;
     char  smallBuffer['''10''']; // size of 10  &lt;br /&gt;
     '''strcpy'''(smallBuffer, userId);&lt;br /&gt;
  }  &lt;br /&gt;
  int main(int argc, char *argv[]) {  &lt;br /&gt;
  char *userId = &amp;quot;'''01234567890'''&amp;quot;; // Payload of 11&lt;br /&gt;
  copyData (userId); // this shall cause a buffer overload&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Buffer overflows are the result of stuffing more code into a buffer than it is meant to hold.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===The Format String: ===&lt;br /&gt;
A format function is a function within the ANSI C specification. It can be used to tailor primitive C data types to human readable form. They are used in nearly all C programs to output information, print error messages, or process strings.&lt;br /&gt;
&lt;br /&gt;
Some format parameters:&lt;br /&gt;
&lt;br /&gt;
  %x        hexadecimal (unsigned int)&lt;br /&gt;
  %s        string ((const) (unsigned) char *)&lt;br /&gt;
  %n        number of bytes written so far, (* int)&lt;br /&gt;
  %d        decimal (int)&lt;br /&gt;
  %u        unsigned decimal (unsigned int)&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  printf (&amp;quot;Hello: %s\n&amp;quot;, a273150);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The %s in this case ensures that the parameter (a273150) is printed as a string.&lt;br /&gt;
&lt;br /&gt;
Through supplying the format string to the format function we are able&lt;br /&gt;
to control the behaviour of it. So supplying input as a format string makes our application do things it's not meant to! What exactly are we able to make the application do?&lt;br /&gt;
&lt;br /&gt;
===Crashing an application: ===&lt;br /&gt;
&lt;br /&gt;
  printf (User_Input);&lt;br /&gt;
&lt;br /&gt;
If we supply %x (hex unsigned int) as the input, the '''printf''' function shall expect to find an integer relating to that format string, but no argument exists. This can not be detected at compile time. At runtime this issue shall surface.&lt;br /&gt;
&lt;br /&gt;
===Walking the stack: ===&lt;br /&gt;
For every % in the argument the printf function finds it assumes that there is an associated value on the stack. In this way the function walks the stack downwards reading the corresponding values from the stack and printing them to the user.&lt;br /&gt;
&lt;br /&gt;
Using format strings we can execute some invalid pointer access by using a format string such as:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  printf (&amp;quot;%s%s%s%s%s%s%s%s%s%s%s%s&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Worse again is using the '''%n''' directive in '''printf()'''. This directive takes an '''int*''' and '''writes''' the number of bytes so far to that location.&lt;br /&gt;
&lt;br /&gt;
Where to look for this potential vulnerability. This issue is prevalent with the '''printf()''' family of functions,  '''printf(),fprintf(), sprintf(), snprintf().''' Also '''syslog()''' (writes system log information) and setproctitle(''const char *fmt'', ''...''); (which sets the string used to display process identifier information).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Integer overflows: ===&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    int main(void){&lt;br /&gt;
            int val;&lt;br /&gt;
            val = 0x7fffffff; 	/* 2147483647*/&lt;br /&gt;
            printf(&amp;quot;val = %d (0x%x)\n&amp;quot;, val, val);&lt;br /&gt;
            printf(&amp;quot;val + 1 = %d (0x%x)\n&amp;quot;, val + 1 , val + 1); /*Overflow the int*/&lt;br /&gt;
            return 0;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The binary representation of 0x7fffffff is 1111111111111111111111111111111; this integer is initialised with the highest positive value a signed long integer can hold.&lt;br /&gt;
&lt;br /&gt;
Here when we add 1 to the hex value of 0x7fffffff the value of the integer overflows and goes to a negative number (0x7fffffff + 1 = 80000000)&lt;br /&gt;
In decimal this is (-2147483648). Think of the problems this may cause!!&lt;br /&gt;
Compilers will not detect this and the application will not notice this issue.&lt;br /&gt;
&lt;br /&gt;
We get these issues when we use signed integers in comparisons or in arithmetic and also when comparing signed integers with unsigned integers.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
int myArray[100];&lt;br /&gt;
&lt;br /&gt;
    int fillArray(int v1, int v2){&lt;br /&gt;
        if(v2 &amp;gt; sizeof(myArray) / sizeof(int)){&lt;br /&gt;
            return -1; /* Too Big !! */&lt;br /&gt;
        }&lt;br /&gt;
        myArray [v2] = v1;&lt;br /&gt;
        return 0;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Here if v2 is a massive negative number so the '''''if '''''condition shall pass. This condition checks to see if v2 is bigger than the array size.&lt;br /&gt;
The line '''myArray[v2]  = v1''' assigns the value v1 to a location out of the bounds of the array causing unexpected results.&lt;br /&gt;
&lt;br /&gt;
== Good Patterns &amp;amp; procedures to prevent buffer overflows: ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 void copyData(char *userId) {&lt;br /&gt;
    char  smallBuffer[10]; // size of 10&lt;br /&gt;
    strncpy(smallBuffer, userId, 10); // only copy first 10 elements&lt;br /&gt;
    smallBuffer[9] = 0; // Make sure it is terminated.&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int main(int argc, char *argv[]) {&lt;br /&gt;
    char *userId = &amp;quot;01234567890&amp;quot;; // Payload of 11&lt;br /&gt;
    copyData (userId); // this shall cause a buffer overload&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
The code above is not vulnerable to buffer overflow as the copy functionality uses a specified length, 10.&lt;br /&gt;
&lt;br /&gt;
C library functions such as '''strcpy (), strcat (), sprintf ()''' and '''vsprintf ()''' operate on null terminated strings and perform no bounds checking. '''gets ()''' is another function that reads input (into a buffer) from stdin until a terminating newline or EOF (End of File) is found. The '''scanf ()''' family of functions also may result in buffer overflows.&lt;br /&gt;
&lt;br /&gt;
Using strncpy(), strncat(), snprintf(), and fgets() all mitigate this problem by specifying the maximum string length.  The details are slightly different and thus understanding their implications is required.&lt;br /&gt;
&lt;br /&gt;
Always check the bounds of an array before writing it to a buffer.&lt;br /&gt;
&lt;br /&gt;
The Microsoft C runtime also provides additional versions of many functions with an _s suffix (strcpy_s, strcat_s, sprintf_s).  These functions perform additional checks for error conditions and call an error handler on failure.  (See [http://msdn2.microsoft.com/en-us/library/8ef0s5kh(VS.80).aspx Security Enhancements in the CRT])&lt;br /&gt;
&lt;br /&gt;
==.NET &amp;amp; Java ==&lt;br /&gt;
&lt;br /&gt;
C# or C++ code in the .NET framework can be immune to buffer overflows if the code is ''managed''. Managed code is code executed by a .NET virtual machine, such as Microsoft's. Before the code is run, the Intermediate Language is compiled into native code. The managed execution environments own runtime-aware complier performs the compilation; therefore the managed execution environment can guarantee what the code is going to do. The Java development language also does not suffer from buffer overflows; as long as native methods or system calls are not invoked, buffer overflows are not an issue. Finally ASP pages are also immune to buffer overflows due to Integer Overflow checks performed by the VBScript interpreter while executing the code.&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Code Review Project]]&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Codereview-Cryptography&amp;diff=43192</id>
		<title>Codereview-Cryptography</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Codereview-Cryptography&amp;diff=43192"/>
				<updated>2008-10-13T20:14:34Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OWASP Code Review Guide Table of Contents]]__TOC__&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
There are two types of cryptography in this world: cryptography that will stop your kid sister from reading your files, and cryptography that will stop major governments from reading your files [1]. Developers are at the forefront of deciding which category a particular application resides in.  Cryptography provides for security of data at rest (via encryption), enforcement of data integrity (via hashing/digesting), and non-repudiation of data (via signing). As a result, the coding in a secure manner of any of the above cryptographic processes within source code must conform in principle to the use of standard cryptographically secure algorithms with strong key sizes.&lt;br /&gt;
&lt;br /&gt;
The use of non-standard cryptographic algorithms, custom implementation of cryptography (standard &amp;amp; non-standard) algorithms, use of standard algorithms which are cryptographically insecure (e.g. DES), and the implementation of insecure keys can weaken the overall security posture of any application.  Implementation of the aforementioned methods, enables the use of known cryptanalytic tools &amp;amp; techniques to decrypt sensitive data. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Security Activities ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Guide to Cryptography]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Using the Java Cryptographic Extensions]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Use of Standard Cryptographic Libraries ==&lt;br /&gt;
&lt;br /&gt;
As a general recommendation, there is strong reasoning behind not creating custom cryptographic libraries and algorithms. There is a huge distinction between groups, organisations and individuals developing cryptographic algorithms and those that implement cryptography either in software or in hardware.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== .NET and C/C++ (Win32) ===&lt;br /&gt;
&lt;br /&gt;
For .NET code, class libraries and implementations within System.Security.Cryptography should be used [2]. This namespace within .NET aims to provide a number of wrappers that do not require proficient knowledge of cryptography in order to use it [3].&lt;br /&gt;
&lt;br /&gt;
For C/C++ code running on Win32 platforms, the CryptoAPI is recommended [2]. This has been an integral component for any Visual C++ developer's toolkit prior to the release of the latest replacement with Windows Vista. The CryptoAPI today offers an original benchmark for what will become legacy applications.&lt;br /&gt;
&lt;br /&gt;
=== Classic ASP ===&lt;br /&gt;
Classic ASP pages do not have direct access to cryptographic functions so the only way is to create COM wrapper in Visual C++ or Visual Basic implementing calls to DPAPI or CryptoAPI, then call it from ASP pages using the '''Server.CreateObject''' method.&lt;br /&gt;
&lt;br /&gt;
=== Java ===&lt;br /&gt;
&lt;br /&gt;
The Java Cryptography Extension (JCE) [5] was introduced as an optional package in the Java 2 SDK and has since been included with J2SE 1.4 and later versions. When implementing code in this language, the use of a library that is a provider of the JCE is recommended. Sun provides a list of companies that act as Cryptographic Service Providers and/or offer clean room implementations of the Java Cryptography Extension [6].&lt;br /&gt;
&lt;br /&gt;
== Vulnerable Patterns Examples for Cryptography ==&lt;br /&gt;
&lt;br /&gt;
A secure way to implement robust encryption mechanisms within source code is by implementing FIPS[7] compliant algorithms with the use of the Microsoft Data Protection API (DPAPI)[4] or the Java Cryptography Extension (JCE)[5].  The following should be identified when establishing your cryptographic code strategy:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Standard Algorithms&lt;br /&gt;
&amp;lt;li&amp;gt;Strong Algorithms&lt;br /&gt;
&amp;lt;li&amp;gt;Strong Key Sizes&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Additionally, all sensitive data that the application handles should be identified and encryption should be enforced.  This includes user sensitive data, configuration data, etc.  Specifically, presence of the following identifies issues with Cryptographic Code:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''.NET'''&amp;lt;br&amp;gt;&lt;br /&gt;
Check for examples for Cryptography in the MSDN Library [http://msdn.microsoft.com/en-us/library/aa480479.aspx#pagpractices0002_cryptography Security Practices: .NET Framework 2.0 Security Practices at a Glance]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Check that the Data Protection API (DPAPI) is being used&lt;br /&gt;
&amp;lt;li&amp;gt;Verify no proprietary algorithms are being used&lt;br /&gt;
&amp;lt;li&amp;gt;Check that RNGCryptoServiceProvider is used for PRNG&lt;br /&gt;
&amp;lt;li&amp;gt;Verify key length is at least 128 bits&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Classic ASP'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Perform all of these checks on the COM wrapper as ASP does not have direct access to cryptographic functions&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Check that the Data Protection API (DPAPI) or CryptoAPI is being used into COM object&lt;br /&gt;
&amp;lt;li&amp;gt;Verify no proprietary algorithms are being used&lt;br /&gt;
&amp;lt;li&amp;gt;Check that RNGCryptoServiceProvider is used for PRNG&lt;br /&gt;
&amp;lt;li&amp;gt;Verify key length is at least 128 bits&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Java'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Check that the Java Cryptography Extension (JCE) is being used&lt;br /&gt;
&amp;lt;li&amp;gt;Verify no proprietary algorithms are being used&lt;br /&gt;
&amp;lt;li&amp;gt;Check that SecureRandom (or similar) is used for PRNG&lt;br /&gt;
&amp;lt;li&amp;gt;Verify key length is at least 128 bits&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
'''Bad Practice: Use of Insecure Cryptographic Algorithms&amp;gt;&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
The following algorithms are cryptographically insecure: DES and SHA-0.  Below outlines a cryptographic implementation of DES (available per [[Using the Java Cryptographic Extensions]]): &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
package org.owasp.crypto;&lt;br /&gt;
&lt;br /&gt;
import javax.crypto.KeyGenerator;&lt;br /&gt;
import javax.crypto.SecretKey;&lt;br /&gt;
import javax.crypto.Cipher;&lt;br /&gt;
&lt;br /&gt;
import java.security.NoSuchAlgorithmException;&lt;br /&gt;
import java.security.InvalidKeyException;&lt;br /&gt;
import java.security.InvalidAlgorithmParameterException;&lt;br /&gt;
import javax.crypto.NoSuchPaddingException;&lt;br /&gt;
import javax.crypto.BadPaddingException;&lt;br /&gt;
import javax.crypto.IllegalBlockSizeException;&lt;br /&gt;
&lt;br /&gt;
import sun.misc.BASE64Encoder;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * @author Joe Prasanna Kumar&lt;br /&gt;
 * This program provides the following cryptographic functionalities&lt;br /&gt;
 * 1. Encryption using DES&lt;br /&gt;
 * 2. Decryption using DES&lt;br /&gt;
 * &lt;br /&gt;
 * The following modes of DES encryption are supported by SUNJce provider &lt;br /&gt;
 * 1. ECB (Electronic code Book) - Every plaintext block is encrypted separately &lt;br /&gt;
 * 2. CBC (Cipher Block Chaining) - Every plaintext block is XORed with the previous ciphertext block&lt;br /&gt;
 * 3. PCBC (Propogating Cipher Block Chaining) - &lt;br /&gt;
 * 4. CFB (Cipher Feedback Mode) - The previous ciphertext block is encrypted and this enciphered block is XORed with the plaintext block to produce the corresponding ciphertext block &lt;br /&gt;
 * 5. OFB (Output Feedback Mode) - &lt;br /&gt;
 *&lt;br /&gt;
 *	High Level Algorithm :&lt;br /&gt;
 * 1. Generate a DES key&lt;br /&gt;
 * 2. Create the Cipher (Specify the Mode and Padding)&lt;br /&gt;
 * 3. To Encrypt : Initialize the Cipher for Encryption&lt;br /&gt;
 * 4. To Decrypt : Initialize the Cipher for Decryption&lt;br /&gt;
 * &lt;br /&gt;
 * Need for Padding :&lt;br /&gt;
 * Block ciphers operates on data blocks on fixed size n. &lt;br /&gt;
 * Since the data to be encrypted might not always be a multiple of n, the remainder of the bits are padded.&lt;br /&gt;
 * PKCS#5 Padding is what will be used in this program &lt;br /&gt;
 * &lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
public class DES {&lt;br /&gt;
	public static void main(String[] args) {&lt;br /&gt;
		&lt;br /&gt;
		String strDataToEncrypt = new String();&lt;br /&gt;
		String strCipherText = new String();&lt;br /&gt;
		String strDecryptedText = new String();&lt;br /&gt;
		&lt;br /&gt;
		try{&lt;br /&gt;
		/**&lt;br /&gt;
		 *  Step 1. Generate a DES key using KeyGenerator &lt;br /&gt;
		 * &lt;br /&gt;
		 */&lt;br /&gt;
		KeyGenerator keyGen = KeyGenerator.getInstance(&amp;quot;DES&amp;quot;);&lt;br /&gt;
		SecretKey secretKey = keyGen.generateKey();&lt;br /&gt;
		&lt;br /&gt;
		/**&lt;br /&gt;
		 *  Step2. Create a Cipher by specifying the following parameters&lt;br /&gt;
		 * 			a. Algorithm name - here it is DES&lt;br /&gt;
		 * 			b. Mode - here it is CBC&lt;br /&gt;
		 * 			c. Padding - PKCS5Padding&lt;br /&gt;
		 */&lt;br /&gt;
		&lt;br /&gt;
		Cipher desCipher = Cipher.getInstance(&amp;quot;DES/CBC/PKCS5Padding&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		/**&lt;br /&gt;
		 *  Step 3. Initialize the Cipher for Encryption &lt;br /&gt;
		 */&lt;br /&gt;
		&lt;br /&gt;
		desCipher.init(Cipher.ENCRYPT_MODE,secretKey);&lt;br /&gt;
		&lt;br /&gt;
		/**&lt;br /&gt;
		 *  Step 4. Encrypt the Data&lt;br /&gt;
		 *  		1. Declare / Initialize the Data. Here the data is of type String&lt;br /&gt;
		 *  		2. Convert the Input Text to Bytes&lt;br /&gt;
		 *  		3. Encrypt the bytes using doFinal method &lt;br /&gt;
		 */&lt;br /&gt;
		strDataToEncrypt = &amp;quot;Hello World of Encryption using DES &amp;quot;;&lt;br /&gt;
		byte[] byteDataToEncrypt = strDataToEncrypt.getBytes();&lt;br /&gt;
		byte[] byteCipherText = desCipher.doFinal(byteDataToEncrypt); &lt;br /&gt;
		strCipherText = new BASE64Encoder().encode(byteCipherText);&lt;br /&gt;
		System.out.println(&amp;quot;Cipher Text generated using DES with CBC mode and PKCS5 Padding is &amp;quot; +strCipherText);&lt;br /&gt;
		&lt;br /&gt;
		/**&lt;br /&gt;
		 *  Step 5. Decrypt the Data&lt;br /&gt;
		 *  		1. Initialize the Cipher for Decryption &lt;br /&gt;
		 *  		2. Decrypt the cipher bytes using doFinal method &lt;br /&gt;
		 */&lt;br /&gt;
		desCipher.init(Cipher.DECRYPT_MODE,secretKey,desCipher.getParameters());&lt;br /&gt;
		 //desCipher.init(Cipher.DECRYPT_MODE,secretKey);&lt;br /&gt;
		byte[] byteDecryptedText = desCipher.doFinal(byteCipherText);&lt;br /&gt;
		strDecryptedText = new String(byteDecryptedText);&lt;br /&gt;
		System.out.println(&amp;quot; Decrypted Text message is &amp;quot; +strDecryptedText);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		catch (NoSuchAlgorithmException noSuchAlgo)&lt;br /&gt;
		{&lt;br /&gt;
			System.out.println(&amp;quot; No Such Algorithm exists &amp;quot; + noSuchAlgo);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
			catch (NoSuchPaddingException noSuchPad)&lt;br /&gt;
			{&lt;br /&gt;
				System.out.println(&amp;quot; No Such Padding exists &amp;quot; + noSuchPad);&lt;br /&gt;
			}&lt;br /&gt;
		&lt;br /&gt;
				catch (InvalidKeyException invalidKey)&lt;br /&gt;
				{&lt;br /&gt;
					System.out.println(&amp;quot; Invalid Key &amp;quot; + invalidKey);&lt;br /&gt;
				}&lt;br /&gt;
				&lt;br /&gt;
				catch (BadPaddingException badPadding)&lt;br /&gt;
				{&lt;br /&gt;
					System.out.println(&amp;quot; Bad Padding &amp;quot; + badPadding);&lt;br /&gt;
				}&lt;br /&gt;
				&lt;br /&gt;
				catch (IllegalBlockSizeException illegalBlockSize)&lt;br /&gt;
				{&lt;br /&gt;
					System.out.println(&amp;quot; Illegal Block Size &amp;quot; + illegalBlockSize);&lt;br /&gt;
				}&lt;br /&gt;
				&lt;br /&gt;
				catch (InvalidAlgorithmParameterException invalidParam)&lt;br /&gt;
				{&lt;br /&gt;
					System.out.println(&amp;quot; Invalid Parameter &amp;quot; + invalidParam);&lt;br /&gt;
				}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additionally, SHA-1 and MD5 should be avoided in new applications moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Good Patterns Examples for Cryptography ==&lt;br /&gt;
&lt;br /&gt;
'''Good Practice: Use Strong Entropy&amp;gt;&amp;gt;'''&amp;lt;br&amp;gt;&lt;br /&gt;
The following source code outlines secure key generation per use of strong entropy&amp;lt;br&amp;gt;(available per [[Using the Java Cryptographic Extensions]]):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
package org.owasp.java.crypto;&lt;br /&gt;
&lt;br /&gt;
import java.security.SecureRandom;&lt;br /&gt;
import java.security.NoSuchAlgorithmException;&lt;br /&gt;
&lt;br /&gt;
import sun.misc.BASE64Encoder;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * @author Joe Prasanna Kumar&lt;br /&gt;
 * This program provides the functionality for Generating a Secure Random Number.&lt;br /&gt;
 *  &lt;br /&gt;
 * There are 2 ways to generate a  Random number through SecureRandom.&lt;br /&gt;
 * 1. By calling nextBytes method to generate Random Bytes&lt;br /&gt;
 * 2. Using setSeed(byte[]) to reseed a Random object&lt;br /&gt;
 * &lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
public class SecureRandomGen {&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * @param args&lt;br /&gt;
	 */&lt;br /&gt;
	public static void main(String[] args) {&lt;br /&gt;
		try {&lt;br /&gt;
	        // Initialize a secure random number generator&lt;br /&gt;
	        SecureRandom secureRandom = SecureRandom.getInstance(&amp;quot;SHA1PRNG&amp;quot;);&lt;br /&gt;
	    &lt;br /&gt;
	        // Method 1 - Calling nextBytes method to generate Random Bytes&lt;br /&gt;
	        byte[] bytes = new byte[512];&lt;br /&gt;
	        secureRandom.nextBytes(bytes); &lt;br /&gt;
	        &lt;br /&gt;
	        // Printing the SecureRandom number by calling secureRandom.nextDouble()&lt;br /&gt;
	        System.out.println(&amp;quot; Secure Random # generated by calling nextBytes() is &amp;quot; + secureRandom.nextDouble());&lt;br /&gt;
	    &lt;br /&gt;
	        // Method 2 - Using setSeed(byte[]) to reseed a Random object&lt;br /&gt;
	        int seedByteCount = 10;&lt;br /&gt;
	        byte[] seed = secureRandom.generateSeed(seedByteCount);   &lt;br /&gt;
	        &lt;br /&gt;
	        // TBR System.out.println(&amp;quot; Seed value is &amp;quot; + new BASE64Encoder().encode(seed));&lt;br /&gt;
	    &lt;br /&gt;
	        secureRandom.setSeed(seed);&lt;br /&gt;
	        &lt;br /&gt;
	        System.out.println(&amp;quot; Secure Random # generated using setSeed(byte[]) is  &amp;quot; + secureRandom.nextDouble());&lt;br /&gt;
	        &lt;br /&gt;
	    } catch (NoSuchAlgorithmException noSuchAlgo)&lt;br /&gt;
		{&lt;br /&gt;
			System.out.println(&amp;quot; No Such Algorithm exists &amp;quot; + noSuchAlgo);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Good Practice: Use Strong Algorithms&amp;gt;&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Below illustrates the implementation of AES (available per [[Using the Java Cryptographic Extensions]]): &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
package org.owasp.java.crypto;&lt;br /&gt;
&lt;br /&gt;
import javax.crypto.KeyGenerator;&lt;br /&gt;
import javax.crypto.SecretKey;&lt;br /&gt;
import javax.crypto.Cipher;&lt;br /&gt;
&lt;br /&gt;
import java.security.NoSuchAlgorithmException;&lt;br /&gt;
import java.security.InvalidKeyException;&lt;br /&gt;
import java.security.InvalidAlgorithmParameterException;&lt;br /&gt;
import javax.crypto.NoSuchPaddingException;&lt;br /&gt;
import javax.crypto.BadPaddingException;&lt;br /&gt;
import javax.crypto.IllegalBlockSizeException;&lt;br /&gt;
&lt;br /&gt;
import sun.misc.BASE64Encoder;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * @author Joe Prasanna Kumar&lt;br /&gt;
 * This program provides the following cryptographic functionalities&lt;br /&gt;
 * 1. Encryption using AES&lt;br /&gt;
 * 2. Decryption using AES&lt;br /&gt;
 * &lt;br /&gt;
 * High Level Algorithm :&lt;br /&gt;
 * 1. Generate a DES key (specify the Key size during this phase) &lt;br /&gt;
 * 2. Create the Cipher &lt;br /&gt;
 * 3. To Encrypt : Initialize the Cipher for Encryption&lt;br /&gt;
 * 4. To Decrypt : Initialize the Cipher for Decryption&lt;br /&gt;
 * &lt;br /&gt;
 * &lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
public class AES {&lt;br /&gt;
	public static void main(String[] args) {&lt;br /&gt;
		&lt;br /&gt;
		String strDataToEncrypt = new String();&lt;br /&gt;
		String strCipherText = new String();&lt;br /&gt;
		String strDecryptedText = new String();&lt;br /&gt;
		&lt;br /&gt;
		try{&lt;br /&gt;
		/**&lt;br /&gt;
		 *  Step 1. Generate an AES key using KeyGenerator&lt;br /&gt;
		 *  		Initialize the keysize to 128 &lt;br /&gt;
		 * &lt;br /&gt;
		 */&lt;br /&gt;
		KeyGenerator keyGen = KeyGenerator.getInstance(&amp;quot;AES&amp;quot;);&lt;br /&gt;
		keyGen.init(128);&lt;br /&gt;
		SecretKey secretKey = keyGen.generateKey();&lt;br /&gt;
		&lt;br /&gt;
		/**&lt;br /&gt;
		 *  Step2. Create a Cipher by specifying the following parameters&lt;br /&gt;
		 * 			a. Algorithm name - here it is AES&lt;br /&gt;
		 */&lt;br /&gt;
		&lt;br /&gt;
		Cipher aesCipher = Cipher.getInstance(&amp;quot;AES&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		/**&lt;br /&gt;
		 *  Step 3. Initialize the Cipher for Encryption &lt;br /&gt;
		 */&lt;br /&gt;
		&lt;br /&gt;
		aesCipher.init(Cipher.ENCRYPT_MODE,secretKey);&lt;br /&gt;
		&lt;br /&gt;
		/**&lt;br /&gt;
		 *  Step 4. Encrypt the Data&lt;br /&gt;
		 *  		1. Declare / Initialize the Data. Here the data is of type String&lt;br /&gt;
		 *  		2. Convert the Input Text to Bytes&lt;br /&gt;
		 *  		3. Encrypt the bytes using doFinal method &lt;br /&gt;
		 */&lt;br /&gt;
		strDataToEncrypt = &amp;quot;Hello World of Encryption using AES &amp;quot;;&lt;br /&gt;
		byte[] byteDataToEncrypt = strDataToEncrypt.getBytes();&lt;br /&gt;
		byte[] byteCipherText = aesCipher.doFinal(byteDataToEncrypt); &lt;br /&gt;
		strCipherText = new BASE64Encoder().encode(byteCipherText);&lt;br /&gt;
		System.out.println(&amp;quot;Cipher Text generated using AES is &amp;quot; +strCipherText);&lt;br /&gt;
		&lt;br /&gt;
		/**&lt;br /&gt;
		 *  Step 5. Decrypt the Data&lt;br /&gt;
		 *  		1. Initialize the Cipher for Decryption &lt;br /&gt;
		 *  		2. Decrypt the cipher bytes using doFinal method &lt;br /&gt;
		 */&lt;br /&gt;
		aesCipher.init(Cipher.DECRYPT_MODE,secretKey,aesCipher.getParameters());&lt;br /&gt;
		byte[] byteDecryptedText = aesCipher.doFinal(byteCipherText);&lt;br /&gt;
		strDecryptedText = new String(byteDecryptedText);&lt;br /&gt;
		System.out.println(&amp;quot; Decrypted Text message is &amp;quot; +strDecryptedText);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		catch (NoSuchAlgorithmException noSuchAlgo)&lt;br /&gt;
		{&lt;br /&gt;
			System.out.println(&amp;quot; No Such Algorithm exists &amp;quot; + noSuchAlgo);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
			catch (NoSuchPaddingException noSuchPad)&lt;br /&gt;
			{&lt;br /&gt;
				System.out.println(&amp;quot; No Such Padding exists &amp;quot; + noSuchPad);&lt;br /&gt;
			}&lt;br /&gt;
		&lt;br /&gt;
				catch (InvalidKeyException invalidKey)&lt;br /&gt;
				{&lt;br /&gt;
					System.out.println(&amp;quot; Invalid Key &amp;quot; + invalidKey);&lt;br /&gt;
				}&lt;br /&gt;
				&lt;br /&gt;
				catch (BadPaddingException badPadding)&lt;br /&gt;
				{&lt;br /&gt;
					System.out.println(&amp;quot; Bad Padding &amp;quot; + badPadding);&lt;br /&gt;
				}&lt;br /&gt;
				&lt;br /&gt;
				catch (IllegalBlockSizeException illegalBlockSize)&lt;br /&gt;
				{&lt;br /&gt;
					System.out.println(&amp;quot; Illegal Block Size &amp;quot; + illegalBlockSize);&lt;br /&gt;
				}&lt;br /&gt;
				&lt;br /&gt;
				catch (InvalidAlgorithmParameterException invalidParam)&lt;br /&gt;
				{&lt;br /&gt;
					System.out.println(&amp;quot; Invalid Parameter &amp;quot; + invalidParam);&lt;br /&gt;
				}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Laws and Regulations on Cryptography ==&lt;br /&gt;
&lt;br /&gt;
There are a number of countries in which encryption is outlawed. As a result, the development or use of applications that deploy cryptographic processes could have an impact depending on location. The following crypto law survey attempts to give an overview on the current state of affairs regarding cryptography on a per-country basis [8]&lt;br /&gt;
&lt;br /&gt;
== Design and Implementation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Specification Definitions ===&lt;br /&gt;
&lt;br /&gt;
Any code implementing cryptographic processes and algorithms should be audited against a set of specifications. This will have as an objective to capture the level of security the software is attempting to meet and thus offer a measure point with regards to the cryptography used.&lt;br /&gt;
&lt;br /&gt;
=== Level of Code Quality ===&lt;br /&gt;
&lt;br /&gt;
Cryptographic code written or used should be of the highest level in terms of implementation. This should include simplicity, assertions, unit testing, as well as modularization. &lt;br /&gt;
&lt;br /&gt;
=== Side Channel and Protocol attacks ===&lt;br /&gt;
&lt;br /&gt;
As an algorithm is static in nature, its use over a communication medium constitutes a protocol. Thus issues relating to timeouts, how a message is received and over what channel should be considered.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
[1] Bruce Schneier, Applied Cryptography, John Wiley &amp;amp; Sons, 2nd edition, 1996.&lt;br /&gt;
&lt;br /&gt;
[2] Michael Howard, Steve Lipner, The Security Development Lifecycle, 2006, pp. 251 - 258&lt;br /&gt;
&lt;br /&gt;
[3] .NET Framework Developer's Guide, Cryptographic Services, http://msdn2.microsoft.com/en-us/library/93bskf9z.aspx&lt;br /&gt;
&lt;br /&gt;
[4] Microsoft Developer Network, Windows Data Protection, http://msdn2.microsoft.com/en-us/library/ms995355.aspx&lt;br /&gt;
&lt;br /&gt;
[5] Sun Developer Network, Java Cryptography Extension, http://java.sun.com/products/jce/&lt;br /&gt;
&lt;br /&gt;
[6] Sun Developer Network, Cryptographic Service Providers and Clean Room Implementations, http://java.sun.com/products/jce/jce122_providers.html&lt;br /&gt;
&lt;br /&gt;
[7] Federal Information Processing Standards, http://csrc.nist.gov/publications/fips/&lt;br /&gt;
&lt;br /&gt;
[8] Bert-Jaap Koops, Crypto Law Survey, 2007, http://rechten.uvt.nl/koops/cryptolaw/&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Codereview-Deployment&amp;diff=43190</id>
		<title>Codereview-Deployment</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Codereview-Deployment&amp;diff=43190"/>
				<updated>2008-10-13T19:59:16Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OWASP Code Review Guide Table of Contents]]__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Secure application deployment ===&lt;br /&gt;
Another important thing to be aware of is when you receive the code: make sure it is identical in deployment layout to what would go to production. Having well-written code is a great start, but deploying that great code in unprotected folders on the application server is not a great idea.&lt;br /&gt;
Attackers do code reviews also, and what better than to code review the potential target application.&lt;br /&gt;
&lt;br /&gt;
Outside of the actual code to review, one must examine if the deployment of a web application is within a secure environment.&lt;br /&gt;
Having secure code but the environment upon which the code resides is a lost cause. &lt;br /&gt;
Accessing resources directly must be controlled within the environment;&lt;br /&gt;
&lt;br /&gt;
Areas such as configuration files, directories, &amp;amp; resources which need authorisation need to be secured on the host so that direct access to such artifacts is disallowed.&lt;br /&gt;
&lt;br /&gt;
For example: try in “'''''Google'''''”:&lt;br /&gt;
&amp;lt;u&amp;gt;http://www.google.com/search?q=%0D%0Aintitle%3Aindex.of+WEB-INF&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This lists exposed “''Web-Inf''” directories on WebSphere®, Tomcat and other app servers.&lt;br /&gt;
&lt;br /&gt;
''The WEB-INF directory tree contains web application classes, pre-compiled JSP files, server side libraries, session information and files such as '''web.xml''' and '''webapp.properties'''. ''&lt;br /&gt;
&lt;br /&gt;
So be sure the code base is identical to production. Ensuring that we have a “''secure code environment''” is also an important part of an application secure code inspection.&lt;br /&gt;
&lt;br /&gt;
The code may be “bullet proof” but if it is accessible to a user this may cause other problems. Remember the developer is not the only one to perform code reviews, attackers also do this. The only visible surface that a user should see are the “suggestions” rendered by the browser upon receiving the HTML from the backend server. Any request to the backend server outside the strict context of the application should be refused and not be visible. Generally think of ''“That which is not explicitly granted is denied”''.&lt;br /&gt;
&lt;br /&gt;
Example of the Tomcat web.xml to prevent directory indexing:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;servlet&amp;gt;&lt;br /&gt;
 &amp;lt;servlet-name&amp;gt;default&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
 &amp;lt;servlet-class&amp;gt;org.apache.catalina.servlets.DefaultServlet&amp;lt;/servlet-class&amp;gt;&lt;br /&gt;
 &amp;lt;init-param&amp;gt;&lt;br /&gt;
 &amp;lt;param-name&amp;gt;debug&amp;lt;/param-name&amp;gt;&lt;br /&gt;
 &amp;lt;param-value&amp;gt;0&amp;lt;/param-value&amp;gt;&lt;br /&gt;
 &amp;lt;/init-param&amp;gt;&lt;br /&gt;
 &amp;lt;init-param&amp;gt;&lt;br /&gt;
 &amp;lt;param-name&amp;gt;listings&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;/init-param&amp;gt;&lt;br /&gt;
 &amp;lt;init-param&amp;gt;&lt;br /&gt;
 &amp;lt;param-name&amp;gt;readonly&amp;lt;/param-name&amp;gt;&lt;br /&gt;
 &amp;lt;param-value&amp;gt;true&amp;lt;/param-value&amp;gt;&lt;br /&gt;
 &amp;lt;/init-param&amp;gt;&lt;br /&gt;
 &amp;lt;load-on-startup&amp;gt;1&amp;lt;/load-on-startup&amp;gt;&lt;br /&gt;
 &amp;lt;/servlet&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
So to deny access to all directories we put:&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;Directory /&amp;gt;&lt;br /&gt;
 Order Deny,Allow&lt;br /&gt;
 Deny from All&lt;br /&gt;
 &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And then override this for the directories we require access to:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also in Apache HTTP server to ensure directories like WEB-INF and META-INF are protected the following should be added to the ''httpd.conf'', the main configuration file for the Apache web server&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Directory /usr/users/*/public_html&amp;gt; &lt;br /&gt;
 Order Deny,Allow &lt;br /&gt;
 Allow from all &lt;br /&gt;
 &amp;lt;/Directory&amp;gt; &lt;br /&gt;
 &amp;lt;Directory /usr/local/httpd&amp;gt; &lt;br /&gt;
 Order Deny,Allow &lt;br /&gt;
 Allow from all &lt;br /&gt;
 &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On Apache servers, if we wish to specify permissions for a directory and subdirectories we add a '''''.htaccess''''' file.&lt;br /&gt;
&lt;br /&gt;
To protect the .htaccess file itself we place:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Files .htaccess&amp;gt;&lt;br /&gt;
 order allow,deny&lt;br /&gt;
 deny from all&lt;br /&gt;
 &amp;lt;/Files&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To stop directory indexing we place the following directive into the .htaccess file:&lt;br /&gt;
'''IndexIgnore *'''&lt;br /&gt;
The * is a wildcard to prevent all files from being indexed.&lt;br /&gt;
[[Category:OWASP Code Review Project]]&lt;br /&gt;
&lt;br /&gt;
== Protecting JSP pages ==&lt;br /&gt;
&lt;br /&gt;
If using the Struts framework we do not want users access any JSP page directly. Accessing the JSP directly without going through the request processor can enable the attacker to view any server-side code in the JSP.&lt;br /&gt;
Let's say initial page can is a HTML document, so the HTTP GET from the browser retrieves this page. Any subsequent page must go through the framework.&lt;br /&gt;
Add the following lines to the '''web.xml''' file to prevent users from accessing any JSP page directly:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;web-app&amp;gt;&lt;br /&gt;
   ...&lt;br /&gt;
  &amp;lt;security-constraint&amp;gt;&lt;br /&gt;
    &amp;lt;web-resource-collection&amp;gt;&lt;br /&gt;
      &amp;lt;web-resource-name&amp;gt;no_access&amp;lt;/web-resource-name&amp;gt;&lt;br /&gt;
      &amp;lt;url-pattern&amp;gt;*.jsp&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;
    &amp;lt;/web-resource-collection&amp;gt;&lt;br /&gt;
    &amp;lt;auth-constraint/&amp;gt;&lt;br /&gt;
  &amp;lt;/security-constraint&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
 &amp;lt;/web-app&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With this directive in '''web.xml''' a HTTP request for a JSP page directly will fail.&lt;br /&gt;
[[Category:OWASP Code Review Project]]&lt;br /&gt;
&lt;br /&gt;
==Protecting ASP Pages==&lt;br /&gt;
For classic ASP pages there is no way to configure this kind of protection using a configuration file, rather all this kind of configurations can only be only done though IIS console, thus, out of the scope of this document.&lt;br /&gt;
&lt;br /&gt;
== A clean environment ==&lt;br /&gt;
&lt;br /&gt;
When reviewing the environment we must see if the directories contain any artifacts from development. These files may not be referenced in any way and hence the application server gives no protection to them. Files such as .'''bak, .old, .tmp''' etc should be removed as they may contain source code.&lt;br /&gt;
&lt;br /&gt;
Source code should not go into production directories. The compiled class files are all that is required in most cases. All source code should be removed and only the “executables” should remain.&lt;br /&gt;
&lt;br /&gt;
No development tools should be present in a production environment. For example a Java application should only need a JRE (Java Runtime Environment) and not a JDK (Java Development Kit) to function.&lt;br /&gt;
&lt;br /&gt;
Test and debug code should be removed from all source code and configuration files. Even commented-out code should be removed as a precaution. Test code can contain backdoors that circumvent the workflow in the application and at worst contain valid authentication credentials or account details.&lt;br /&gt;
&lt;br /&gt;
Comments on code and Meta tags pertaining to the IDE used or technology used to develop the application should be removed. Some comments can divulge important information regarding bugs in code or pointers to functionality. This is particularly important with server side code such as JSP and ASP files.&lt;br /&gt;
&lt;br /&gt;
A copyright and confidentiality statement should be at the top of every file. This mitigates any confusion regarding who owns the code. This may seem trivial but it is important to state who owns the code.&lt;br /&gt;
&lt;br /&gt;
To sum up, code review includes looking at the configuration of the application server and not just the code. Knowledge of the server in question is important and information is easily available on the web.&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Code Review Project]]&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Codereview-Error-Handling&amp;diff=43189</id>
		<title>Codereview-Error-Handling</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Codereview-Error-Handling&amp;diff=43189"/>
				<updated>2008-10-13T19:50:34Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OWASP Code Review Guide Table of Contents]]__TOC__&lt;br /&gt;
[[Category:OWASP Code Review Project]]&lt;br /&gt;
&lt;br /&gt;
==Error Handling==&lt;br /&gt;
&lt;br /&gt;
Error Handling is important in a number of ways. It may effect the state of the application, or leak system information to a user. The initial failure to cause the error may cause the application be traverse into an insecure state.&lt;br /&gt;
Weak error handling also aids the attacker as the errors returned may assist them in constructing correct attack vectors. A generic error page for most errors is recommended when developing code. This approach makes it more difficult for attackers to identify signatures of potentially successful attacks. There are methods which can circumvent systems with leading practice error handling semantics which should be kept in mind; Attacks such as blind SQL injection using booleanization or response time characteristics can be used to address such generic responses.&lt;br /&gt;
&lt;br /&gt;
The other key area relating to error handling is the premise of &amp;quot;fail securely&amp;quot;. Errors induced should not leave the application in an insecure state. Resources should be locked down and released, sessions terminated (if required) and calculations or business logic should be halted (depending on the type of error of course).&lt;br /&gt;
&lt;br /&gt;
An important aspect of secure application development is to prevent information leakage. Error messages give an attacker great insight into the inner workings of an application. &lt;br /&gt;
&lt;br /&gt;
The purpose of reviewing the Error Handling code is to assure the application fails safely under all possible error conditions, expected and unexpected. No sensitive information is presented to the user when an error occurs.&lt;br /&gt;
&lt;br /&gt;
For example, SQL injection is much tougher to successfully execute without some healthy error messages. It lessens the attack footprint, and an attacker would have to resort to use “blind SQL injection” which is more difficult and time consuming.&lt;br /&gt;
&lt;br /&gt;
A well-planned error/exception handling strategy is important for three reasons:&lt;br /&gt;
&lt;br /&gt;
#	Good error handling does not give an attacker any information which is a means to an end, attacking the application&lt;br /&gt;
#	A proper centralised error strategy is easier to maintain and reduces the chance of any uncaught errors “Bubbling up” to the front end of an application.&lt;br /&gt;
#	Information leakage can lead to social engineering exploits.&lt;br /&gt;
&lt;br /&gt;
Some development languages provide checked exceptions, which means that the compiler shall complain if an exception for a particular API call is not caught.  Java and C# are good examples of this.&lt;br /&gt;
Languages like C++ and C do not provide this safety net. Languages with checked exception handling still are prone to information leakage as not all types of errors are checked for.&lt;br /&gt;
&lt;br /&gt;
When an exception or error is thrown we also need to log this occurrence. Sometimes this is due to bad development, but it can be the result of an attack or some other service your application relies on failing.&lt;br /&gt;
&lt;br /&gt;
All code paths that can cause an exception to be thrown should check for success in order for the exception not to be thrown.&lt;br /&gt;
&lt;br /&gt;
To avoid a NullPointerException we should check is the object being accessed is not null.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Error Handling Should Be Centralised===&lt;br /&gt;
&lt;br /&gt;
When reviewing code it is recommended to assess the commonality within the  application from a error/exception handling perspective.&lt;br /&gt;
Frameworks have error handling resources which can be exploited to assist in secure programming and such resources within the framework should be reviewed to assess if the error handling is &amp;quot;wired-up&amp;quot; correctly.&lt;br /&gt;
&lt;br /&gt;
 A generic error page should be used for all exceptions if possible. This prevents the attacker identifying internal&lt;br /&gt;
 responses to error states. This also makes it more difficult for automated tools to identify successful attacks.&lt;br /&gt;
&lt;br /&gt;
===Declarative Exception Handling===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;exception   key=”bank.error.nowonga” &lt;br /&gt;
                    path=”/NoWonga.jsp” &lt;br /&gt;
                    type=”mybank.account.NoCashException”/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This could be found in the struts-config.xml file, a key file when reviewing the wired-up struts environment&lt;br /&gt;
&lt;br /&gt;
'''Java Servlets and JSP'''&lt;br /&gt;
&lt;br /&gt;
Specification can be done in ''web.xml'' in order to handle unhandled exceptions. When Unhandled exceptions occur but not caught in code the user is forwarded to a generic error page:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;error-page&amp;gt;&lt;br /&gt;
       &amp;lt;exception-type&amp;gt;UnhandledException&amp;lt;/exception-type&amp;gt;&lt;br /&gt;
       &amp;lt;location&amp;gt;GenericError.jsp&amp;lt;/location&amp;gt;&lt;br /&gt;
 &amp;lt;/error-page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also in the case of HTTP 404 or HTTP 500 errors during the review you may find:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;error-page&amp;gt;&lt;br /&gt;
  &amp;lt;error-code&amp;gt;500&amp;lt;/error-code&amp;gt;&lt;br /&gt;
  &amp;lt;location&amp;gt;GenericError.jsp&amp;lt;/location&amp;gt;&lt;br /&gt;
 &amp;lt;/error-page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Failing Securely===&lt;br /&gt;
Types of errors:&lt;br /&gt;
The result of business logic conditions not being met.&lt;br /&gt;
The result of the environment wherein the business logic resides fails.&lt;br /&gt;
The result of upstream or downstream systems upon which the application depends fail.&lt;br /&gt;
Technical hardware / physical failure&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A failure is never expected but they do occur such like much in life.&lt;br /&gt;
In the event of a failure it is important not to leave the &amp;quot;doors&amp;quot; of the application open and they keys to other &amp;quot;rooms&amp;quot; within the application sitting on the table.&lt;br /&gt;
In the course of a logical workflow, which is designed based upon requirements, errors may occur which can be programmatically handled such as a connection pool not being available or a down stream server not being contactable.&lt;br /&gt;
&lt;br /&gt;
Such areas of failure should be examined during the course of the code review. It should be examined if all resources should be released in the case of a failure and during the thread of execution if there is any potential for resource leakage, resources being memory, connection pools, file handles etc.&lt;br /&gt;
&lt;br /&gt;
The review of code should also include pinpointing areas where the user session should be terminated or invalidated. Sometimes errors may occur which do not make any logical sense from a business logic perspective or a technical standpoint;&lt;br /&gt;
&lt;br /&gt;
 Eg: &amp;quot;A logged in user looking to access an account which is not registered to that user and such data could not be inputted in the normal fashion.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Such conditions reflect possible malicious activity. Here we should review if the code is in any way defensive and kills the users session object and forwards the user to the login page. (Keep in mind that the session object should be examined upon every HTTP request)&lt;br /&gt;
&lt;br /&gt;
===Information burial===&lt;br /&gt;
&lt;br /&gt;
Swallowing exceptions into an empty catch() block is not advised as an audit trail of the cause of the exception would be incomplete.&lt;br /&gt;
&lt;br /&gt;
==Generic error messages==&lt;br /&gt;
&lt;br /&gt;
We should use a localized description string in every exception, a friendly error reason such as “System Error – Please try again later”. When the user sees an error message, it will be derived from this description string of the exception that was thrown, and never from the exception class which may contain a stack trace, line number where the error occurred, class name or method name.&lt;br /&gt;
&lt;br /&gt;
Do not expose sensitive information in exception messages. Information such as paths on the local file system is considered privileged information; any internal system information should be hidden from the user. As mentioned before an attacker could use this information to gather private user information from the application or components that make up the app.&lt;br /&gt;
&lt;br /&gt;
Don’t put people’s names or any internal contact information in error messages. Don’t put any “human” information, which would lead to a level of familiarity and a social engineering exploit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==How to locate the potentially vulnerable code==&lt;br /&gt;
&lt;br /&gt;
===JAVA===&lt;br /&gt;
&lt;br /&gt;
In Java we have the concept of an error object; the Exception object.&lt;br /&gt;
This lives in the Java package java.lang and is derived from the Throwable object.&lt;br /&gt;
Exceptions are thrown when an abnormal occurrence has occurred. Another object derived from Throwable is the Error object, which is thrown when something more serious occurs.&lt;br /&gt;
&lt;br /&gt;
Information leakage can occur when developers use some exception methods, which ‘bubble’ to the user UI due to a poor error handling strategy.&lt;br /&gt;
The methods are as follows:&lt;br /&gt;
printStackTrace()&lt;br /&gt;
getStackTrace()&lt;br /&gt;
&lt;br /&gt;
Also important to know is that the output of these methods is printed in System console, the same as System.out.println(e) where e is an Exception. Be sure to not redirect the outputStream to PrintWriter object of JSP, by convention called &amp;quot;out&amp;quot;. Ex. printStackTrace(out);&lt;br /&gt;
&lt;br /&gt;
Also another object to look at is the java.lang.system package:&lt;br /&gt;
&lt;br /&gt;
setErr() and the System.err field.&lt;br /&gt;
&lt;br /&gt;
===.NET===&lt;br /&gt;
&lt;br /&gt;
In .NET a System.Exception object exists. Commonly used child objects such as ApplicationException and SystemException are used.&lt;br /&gt;
It is not recommended that you throw or catch a SystemException this is thrown by runtime.&lt;br /&gt;
&lt;br /&gt;
When an error occurs, either the system or the currently executing application reports it by throwing an exception containing information about the error, similar to java. Once thrown, an exception is handled by the application or by the default exception handler.&lt;br /&gt;
This Exception object contains similar methods to the java implementation such as:&lt;br /&gt;
&lt;br /&gt;
StackTrace &lt;br /&gt;
Source&lt;br /&gt;
Message&lt;br /&gt;
HelpLink&lt;br /&gt;
&lt;br /&gt;
In .NET we need to look at the error handling strategy from the point of view of global error handling and the handling of unexpected errors. This can be done in many ways and this article is not an exhaustive list.&lt;br /&gt;
Firstly, an Error Event is thrown when an unhandled exception is thrown. This is part of the TemplateControl class.&lt;br /&gt;
&lt;br /&gt;
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemWebUITemplateControlClassErrorTopic.asp&lt;br /&gt;
&lt;br /&gt;
==Error handling can be done in three ways in .NET==&lt;br /&gt;
&lt;br /&gt;
*In the web.config file's customErrors section. &lt;br /&gt;
*In the global.asax file's Application_Error sub. &lt;br /&gt;
*On the aspx or associated codebehind page in the Page_Error sub&lt;br /&gt;
&lt;br /&gt;
The order of error handling events in .NET is as follows: &lt;br /&gt;
#	On the Page in the Page_Error sub.&lt;br /&gt;
#	The global.asax Application_Error sub &lt;br /&gt;
#	The web.config file &lt;br /&gt;
&lt;br /&gt;
It is recommended to look in these areas to understand the error strategy of the application.&lt;br /&gt;
&lt;br /&gt;
===Classic ASP===&lt;br /&gt;
Unlike Java and .NET, classic ASP pages do not have structured error handling in try-catch blocks. Instead they have an specific object called &amp;quot;err&amp;quot;. This make error handling in a classic ASP pages hard to do and prone to design errors on error handlers, causing race conditions and information leakage. Also, as ASP uses VBScript (a subtract of Visual Basic), sentences like &amp;quot;On Error GoTo label&amp;quot; are not available.&lt;br /&gt;
&lt;br /&gt;
==Vulnerable Patterns for Error Handling==&lt;br /&gt;
&lt;br /&gt;
===Page_Error===&lt;br /&gt;
&lt;br /&gt;
Page_Error is page level handling which is run on the server side.&lt;br /&gt;
Below is an example but the error information is a little too informative and hence bad practice.&lt;br /&gt;
&lt;br /&gt;
'''FIXME: code formatting'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script language=&amp;quot;C#&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sub Page_Error(Source As Object, E As EventArgs)&lt;br /&gt;
&lt;br /&gt;
Dim message As String = &amp;quot;&amp;lt;font face=verdana color=red&amp;gt;&amp;lt;h1&amp;gt;&amp;quot; &amp;amp; Request.Url.ToString()&amp;amp; &amp;quot;&amp;lt;/h1&amp;gt;&amp;quot; &amp;amp;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&amp;lt;pre&amp;gt;&amp;lt;font color='red'&amp;gt;&amp;quot; &amp;amp; Server.GetLastError().ToString()&amp;amp; &amp;quot;&amp;lt;/pre&amp;gt;&amp;lt;/font&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Response.Write(message) // display message&lt;br /&gt;
&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The red text in the example above has a number of issues:&lt;br /&gt;
Firstly it redisplays the HTTP request to the user in the form of Request.Url.ToString() Assuming there has been no data validation prior to this point we are vulnerable to cross site scripting attacks!! Secondly the error message and stack trace is displayed to the user using Server.GetLastError().ToString() which divulges internal information regarding the application.&lt;br /&gt;
&lt;br /&gt;
After the Page_Error is called, the Application_Error sub is called:&lt;br /&gt;
&lt;br /&gt;
===Global.asax===&lt;br /&gt;
&lt;br /&gt;
When an error occurs, the Application_Error sub is called. In this method we can&lt;br /&gt;
log the error and redirect to another page.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;%@ Import Namespace=&amp;quot;System.Diagnostics&amp;quot; %&amp;gt;&lt;br /&gt;
   &amp;lt;script language=&amp;quot;C#&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
     void Application_Error(Object sender, EventArgs e) {&lt;br /&gt;
          String Message = &amp;quot;\n\nURL: http://localhost/&amp;quot; + Request.Path&lt;br /&gt;
                           + &amp;quot;\n\nMESSAGE:\n &amp;quot; + Server.GetLastError().Message&lt;br /&gt;
                           + &amp;quot;\n\nSTACK TRACE:\n&amp;quot; + Server.GetLastError().StackTrace;&lt;br /&gt;
          // Insert into Event Log&lt;br /&gt;
          EventLog Log = new EventLog();&lt;br /&gt;
          Log.Source = LogName;&lt;br /&gt;
          Log.WriteEntry(Message, EventLogEntryType.Error);&lt;br /&gt;
        Server.Redirect(Error.htm) // this shall also clear the error&lt;br /&gt;
     }&lt;br /&gt;
 &amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Above is an example of code in Global.asax and the Application_Error method.&lt;br /&gt;
The error is logged and then the user is redirected. Unvalidated parameters are being&lt;br /&gt;
logged here in the form of Request.Path. Care must be taken not to log or redisplay &lt;br /&gt;
unvalidated input from any external source. &lt;br /&gt;
&lt;br /&gt;
===Web.config===&lt;br /&gt;
Web.config has a custom errors tag which can be used to handle errors. This is called last and if Page_error or Application_error is called and has functionality, that functionality shall be executed first. As long as the previous two handling mechanisms do not redirect or clear (Response.Redirect or a Server.ClearError), this will be called and you shall be forwarded to the page defined in web.config.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;customErrors defaultRedirect=&amp;quot;error.html&amp;quot; mode=&amp;quot;On|Off|RemoteOnly&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;error statusCode=&amp;quot;statuscode&amp;quot; redirect=&amp;quot;url&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/customErrors&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The “On&amp;quot; directive means that custom errors are enabled. If no defaultRedirect is specified, users see a generic error. &lt;br /&gt;
The &amp;quot;Off&amp;quot; directive means that custom errors are disabled. This allows the displaying of detailed errors. &lt;br /&gt;
&amp;quot;RemoteOnly&amp;quot; specifies that custom errors are shown only to remote clients, and ASP.NET errors are shown to the local host. This is the default. &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;customErrors mode=&amp;quot;On&amp;quot; defaultRedirect=&amp;quot;error.html&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;error statusCode=&amp;quot;500&amp;quot; redirect=&amp;quot;err500.aspx&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;error statusCode=&amp;quot;404&amp;quot; redirect=&amp;quot;notHere.aspx&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;error statusCode=&amp;quot;403&amp;quot; redirect=&amp;quot;notAuthz.aspx&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/customErrors&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Leading practice for Error Handling ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Try &amp;amp; Catch (Java/ .NET)===&lt;br /&gt;
&lt;br /&gt;
Code that might throw exceptions should be in a ''try'' block and code that handles exceptions in a ''catch'' block. &lt;br /&gt;
The catch block is a series of statements beginning with the keyword catch, followed by an exception type and an action to be taken. These are very similar in Java and .NET&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
Java Try-Catch:&lt;br /&gt;
&lt;br /&gt;
 public class DoStuff {&lt;br /&gt;
     public static void Main() {&lt;br /&gt;
         try {&lt;br /&gt;
             StreamReader sr = File.OpenText(&amp;quot;stuff.txt&amp;quot;);&lt;br /&gt;
             Console.WriteLine(&amp;quot;Reading line {0}&amp;quot;, sr.ReadLine());    &lt;br /&gt;
         }&lt;br /&gt;
         catch(Exception e) {&lt;br /&gt;
             Console.WriteLine(&amp;quot;An error occurred. Please leave to room”);&lt;br /&gt;
 	 logerror(“Error: “, e);&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.NET try – catch&lt;br /&gt;
&lt;br /&gt;
 public void run() {&lt;br /&gt;
             while (!stop) {&lt;br /&gt;
                 try {&lt;br /&gt;
 &lt;br /&gt;
                     // Perform work here&lt;br /&gt;
 &lt;br /&gt;
                 } catch (Throwable t) {&lt;br /&gt;
                     // Log the exception and continue&lt;br /&gt;
 		WriteToUser(“An Error has occurred, put the kettle on”);&lt;br /&gt;
                     logger.log(Level.SEVERE, &amp;quot;Unexception exception&amp;quot;, t);&lt;br /&gt;
                 }&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
In general, it is best practice to catch a specific type of exception rather than use the basic catch(Exception) or catch(Throwable) statement in the case of Java.&lt;br /&gt;
&lt;br /&gt;
In classic ASP there are 2 ways to do error handling, the first is using the err object with an On Error Resume Next&lt;br /&gt;
&lt;br /&gt;
 Public Function IsInteger (ByVal Number)	 &lt;br /&gt;
   Dim Res, tNumber&lt;br /&gt;
   Number = Trim(Number)&lt;br /&gt;
   tNumber=Number		&lt;br /&gt;
   On Error Resume Next	                     'If an error occurs continue execution&lt;br /&gt;
   Number = CInt(Number) 	             'if Number is a alphanumeric string a Type Mismatch error will occur&lt;br /&gt;
   Res = (err.number = 0) 	             'If there are no errors then return true&lt;br /&gt;
   On Error GoTo 0			     'If an error occurs stop execution and display error&lt;br /&gt;
   re.Pattern = &amp;quot;^[\+\-]? *\d+$&amp;quot;	     'only one +/- and digits are allowed&lt;br /&gt;
   IsInteger = re.Test(tNumber) And Res&lt;br /&gt;
 End Function&lt;br /&gt;
 &lt;br /&gt;
The second is using an error handler on an error page, to use this method please go to the following URL:&lt;br /&gt;
http://support.microsoft.com/kb/299981&lt;br /&gt;
 &lt;br /&gt;
 Dim ErrObj&lt;br /&gt;
 set ErrObj = Server.GetLastError()&lt;br /&gt;
 'Now use ErrObj as the regular err object&lt;br /&gt;
&lt;br /&gt;
===Releasing resources and good housekeeping===&lt;br /&gt;
&lt;br /&gt;
If the language in question has a ''finally'' method, use it. The finally method is guaranteed to always be called. The finally method can be used to release resources referenced by the method that threw the exception. This is very important. An example would be if a method gained a database connection from a pool of connections, and an exception occurred without finally, the connection object shall not be returned to the pool for some time (until the timeout). This can lead to pool exhaustion. finally() is called even if no exception is thrown.&lt;br /&gt;
&lt;br /&gt;
 try {&lt;br /&gt;
        System.out.println(&amp;quot;Entering try statement&amp;quot;);&lt;br /&gt;
        out = new PrintWriter(new FileWriter(&amp;quot;OutFile.txt&amp;quot;));&lt;br /&gt;
      //Do Stuff….&lt;br /&gt;
 &lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
        System.err.println(&amp;quot;Error occurred!”);&lt;br /&gt;
 &lt;br /&gt;
    } catch (IOException e) {&lt;br /&gt;
        System.err.println(&amp;quot;Input exception &amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
    } finally {&lt;br /&gt;
 &lt;br /&gt;
        if (out != null) { &lt;br /&gt;
            out.close(); // RELEASE RESOURCES&lt;br /&gt;
        } &lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
A Java example showing finally() being used to release system resources.&lt;br /&gt;
&lt;br /&gt;
'''Classic ASP'''&amp;lt;br /&amp;gt;&lt;br /&gt;
For Classic ASP pages it is recommended to enclose all the cleaning in a function and call it into an error handling statement after an &amp;quot;On Error Resume Next&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Centralised exception handling (Struts Example)===&lt;br /&gt;
&lt;br /&gt;
Building an infrastructure for consistent error reporting proves more difficult than error handling.&lt;br /&gt;
Struts provides the ActionMessages and ActionErrors classes for maintaining a stack of error messages to be reported, which can be used with JSP tags like &amp;lt;html: error&amp;gt; to display these error messages to the user. &lt;br /&gt;
&lt;br /&gt;
To report a different severity of a message in a different manner (like error, warning, or information) the following tasks are required: &lt;br /&gt;
&lt;br /&gt;
* Register, instantiate the errors under the appropriate severity&lt;br /&gt;
* Identify these messages and show them in a constant manner.&lt;br /&gt;
&lt;br /&gt;
Struts ActionErrors class makes error handling quite easy:&lt;br /&gt;
&lt;br /&gt;
 ActionErrors errors = new ActionErrors()&lt;br /&gt;
 errors.add(&amp;quot;fatal&amp;quot;, new ActionError(&amp;quot;....&amp;quot;)); &lt;br /&gt;
 errors.add(&amp;quot;error&amp;quot;, new ActionError(&amp;quot;....&amp;quot;)); &lt;br /&gt;
 errors.add(&amp;quot;warning&amp;quot;, new ActionError(&amp;quot;....&amp;quot;));&lt;br /&gt;
 errors.add(&amp;quot;information&amp;quot;, new ActionError(&amp;quot;....&amp;quot;)); &lt;br /&gt;
 saveErrors(request,errors); // Important to do this&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now we have added the errors we display them by using tags in the HTML page.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;logic:messagePresent property=&amp;quot;error&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;html:messages property=&amp;quot;error&amp;quot; id=&amp;quot;errMsg&amp;quot; &amp;gt;&lt;br /&gt;
     &amp;lt;bean:write name=&amp;quot;errMsg&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/html:messages&amp;gt;&lt;br /&gt;
 &amp;lt;/logic:messagePresent &amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Classic ASP'''&amp;lt;br /&amp;gt;&lt;br /&gt;
For classic ASP pages you need to do some IIS configuration, follow the same link for more information http://support.microsoft.com/kb/299981&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Code Review Project]]&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Codereview-Input_Validation&amp;diff=42936</id>
		<title>Codereview-Input Validation</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Codereview-Input_Validation&amp;diff=42936"/>
				<updated>2008-10-11T14:48:52Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:OWASP Code Review Project]]&lt;br /&gt;
[[OWASP Code Review Guide Table of Contents]]__TOC__&lt;br /&gt;
==Introduction==&lt;br /&gt;
Input validation is one of the most effective application security technical controls. It can mitigate numerous vulnerabilities (but not all). Input validation is more than checking form field values. The chapter of transactional analysis talks about this.&lt;br /&gt;
&lt;br /&gt;
===Data Validation===&lt;br /&gt;
All external input to the system shall undergo input validation. The validation rules are defined by the business requirements for the application. If possible an exact match validator should be implemented. Exact match only permits data that conforms to an expected value. A &amp;quot;Known good&amp;quot; approach (white-list) is a little weaker but more flexible are common. Known good only permits characters/ASCII ranges defined within a white-list. Such a range is defined by the business requirements of the input field. The other approaches to data validation are &amp;quot;known bad&amp;quot; which is a black list of &amp;quot;bad characters&amp;quot; - not future proof and would need maintenance. &amp;quot;Encode bad&amp;quot; would be very weak as it would simply encode characters considered &amp;quot;bad&amp;quot; to a format which is deemed not to affect the functionality of the application.&lt;br /&gt;
&lt;br /&gt;
===Business Validation===&lt;br /&gt;
&lt;br /&gt;
Business validation is concerned with business logic. An understanding of the business logic is required prior to reviewing the code which performs such logic. Business validation could be used to limit the value range or a transaction inputted by a user or reject input which does not make too much business sense.&lt;br /&gt;
Reviewing code for business validation can also include rounding errors or floating point issues which may give rise to issues such as integer overflows which can dramatically damage the bottom line.&lt;br /&gt;
===Canonicalization===&lt;br /&gt;
Canonicalization is the process by which various equivalent forms of a name can be resolved to a single standard name, or the &amp;quot;canonical&amp;quot; name.&lt;br /&gt;
===References===&lt;br /&gt;
[[Reviewing_Code_for_Data_Validation|Reviewing code for Data Validation]]&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Codereview-Session-Management&amp;diff=42935</id>
		<title>Codereview-Session-Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Codereview-Session-Management&amp;diff=42935"/>
				<updated>2008-10-11T14:43:17Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
[[OWASP Code Review Guide Table of Contents]]__TOC__&lt;br /&gt;
[[Category:OWASP Code Review Project]]&lt;br /&gt;
&lt;br /&gt;
==Related Security Activities==&lt;br /&gt;
&lt;br /&gt;
===Description of Session Management Vulnerabilities===&lt;br /&gt;
&lt;br /&gt;
See the OWASP articles on [[:Category:Session Management Vulnerability|Session Management Vulnerabilities]].&lt;br /&gt;
&lt;br /&gt;
===Description of Session Management Countermeasures===&lt;br /&gt;
&lt;br /&gt;
See the OWASP articles on [[:Category:Session Management|Session Management Countermeasures]].&lt;br /&gt;
&lt;br /&gt;
===How to Avoid Session Management Vulnerabilities===&lt;br /&gt;
&lt;br /&gt;
See the [[:Category:OWASP Guide Project|OWASP Development Guide]] article on how to [[Session Management|Avoid Session Management]] Vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
===How to Test for Session Management Vulnerabilities===&lt;br /&gt;
&lt;br /&gt;
See the [[:Category:OWASP Testing Project|OWASP Testing Guide]] article on how to [[Testing for Session Management Schema|Test for Session Management]] Vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
Session management from a code review perspective should focus on the creation, renewal, and destruction of a users' session throughout the application.&lt;br /&gt;
The code review process should ensure the following:&lt;br /&gt;
&lt;br /&gt;
'''Session ID:'''&lt;br /&gt;
*Authenticated users have a robust and cryptographically secure association with their session. &lt;br /&gt;
*The session identifier (Session ID) shoud not be predictable and generation of such should be left to the underlying framework. The development effort to produce a session with sufficient entropy is subject to errors and best left to tried and trusted methods.&lt;br /&gt;
&lt;br /&gt;
'''Authorization:'''&lt;br /&gt;
*Applications enforce authorization checks &lt;br /&gt;
*Applications should check if the session is valid prior to servicing any user requests. The user's session object may also hold authorization data.&lt;br /&gt;
**Session ID should be applied to a new user upon successful authentication. &lt;br /&gt;
**Reviewing the code to identify where sessions are created and invalidated is important.&lt;br /&gt;
**Sessions may need to be terminated upon authorization failures. If a logical condition exists which is not possible, unless the state transition is circumvented or an obvious attempt to escalate privileges, a session should be terminated.&lt;br /&gt;
&lt;br /&gt;
'''Session Transport'''&lt;br /&gt;
*Applications avoid or prevent common web attacks, such as replay, request forging and man-in-the-middle.&lt;br /&gt;
Session identifiers should be passed to the user in a secure manner such as not using HTTP GET with the session ID being placed in the query string. Such data (query string) is logged in web server logs. &lt;br /&gt;
**Cookie transport should be performed over a secure channel. Review the code in relation to cookie manipulation. Verify is the secure flag is set. This prevents the cookie being transported over a non secure channel.&lt;br /&gt;
&lt;br /&gt;
'''Session lifecycle'''&lt;br /&gt;
*Session Timeout - Sessions should have a defined inactivity timeout and also in some cases a session hard-limit. The code review should examine such session settings. They may be defined in configuration files or in the code itself. Hard limits shall kill a session regardless of session activity.&lt;br /&gt;
**The log-out commands must do more that simply kill the browser. Review the code to verify that log-out commands invalidate the session on the server.&lt;br /&gt;
&lt;br /&gt;
===Related Vulnerabilities===&lt;br /&gt;
&lt;br /&gt;
*[[Reviewing Code for Data Validation]]&lt;br /&gt;
*[[Reviewing code for XSS issues]]&lt;br /&gt;
*[[Reviewing Code for Authorization Issues]]&lt;br /&gt;
*[[Reviewing Code for Authentication]]&lt;br /&gt;
*[[Reviewing Code for Session Integrity issues]]&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Codereview-Authorization&amp;diff=42934</id>
		<title>Codereview-Authorization</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Codereview-Authorization&amp;diff=42934"/>
				<updated>2008-10-11T14:39:15Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OWASP Code Review Guide Table of Contents]]__TOC__&lt;br /&gt;
[[Category:OWASP Code Review Project]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
Authorization issues cover a wide array of layers in a web application; from the functional authorization of a user to gain access to a particular function of the application is at the application layer to the Database access authorization and least privilege issues at the persistence layer.&lt;br /&gt;
So what to look for when performing a code review? From an attack perspective the most common issues are a result of curiosity and also exploitation of vulnerabilities such as SQL injection.&lt;br /&gt;
'''Example''':&lt;br /&gt;
A Database account used by an application with system/admin access upon which the application was vulnerable to SQL injection would result in a higher degree of impact rather than the same vulnerable application with a least privilege database account.&lt;br /&gt;
&lt;br /&gt;
Authorisation is key in multiuser environments where user data should be segregated. Different clients/users should not see other clients' data (Horizontal authorisation). Authorisation can also be used to restrict functionality to a subset of users. &amp;quot;Super users&amp;quot; would have extra admin functionality that a &amp;quot;regular user&amp;quot; would not have access to (Vertical authorisation).&lt;br /&gt;
&lt;br /&gt;
Authorisation is a very bespoke area in application development. It can be implemented via a lookup table in a users' session which is loaded upon successful authentication. It could be a real-time interrogation of a backend LDAP or database system upon each request.&lt;br /&gt;
&lt;br /&gt;
==How to locate the potentially vulnerable code ==&lt;br /&gt;
Business logic errors are key areas in which to look for authorization errors.&lt;br /&gt;
Areas wherein authorization-checks are performed are worth looking at.&lt;br /&gt;
Logical conditional cases are areas for examination, such as malformed logic:&lt;br /&gt;
&lt;br /&gt;
 if user.equals(&amp;quot;NormalUser&amp;quot;){&lt;br /&gt;
    grantUser(Normal_Permissions);&lt;br /&gt;
 }else{ //user must be admin/super&lt;br /&gt;
   grantUser(&amp;quot;Super_Persmissions);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
For classic ASP pages, authorization is usually performed using include files that contain the access control validation and restrictions. So you usually will look for something like&lt;br /&gt;
 &amp;lt;pre&amp;gt;&amp;lt;!--#include file=&amp;quot;ValidateUser.inc&amp;quot;--&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We have an additional issue in this sentence a Information disclosure as the inc file might be called directly and disclose application functionality as ASP code will not be executed given that Inc extension is not recognized.&lt;br /&gt;
&lt;br /&gt;
== Vulnerable Patterns for Authorization issues ==&lt;br /&gt;
One area of examination is to see if the authorization model simply relies on not displaying certain functions which the user has not authorization to use, security by obscurity in effect.&lt;br /&gt;
If a crawl can be performed on the application, links may be discovered which are not on the users GUI. Simple HTTP Get requests can uncover &amp;quot;Hidden&amp;quot; links.&lt;br /&gt;
Obviously a map on the server-side should be used to see if one is authorized to perform a task and we should not rely on the GUI &amp;quot;hiding&amp;quot; buttons and links.&lt;br /&gt;
&lt;br /&gt;
So disabling buttons on the client due to the authorization level of user shall not prevent the user from executing the action relating to the button.&lt;br /&gt;
&lt;br /&gt;
 document.form.adminfunction.disabled=true;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;form action=&amp;quot;./doAdminFunction.asp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By simply saving the page locally and editing the disabled=true to disabled=false and adding the absolute form action one can proceed to activate the disabled button.&lt;br /&gt;
&lt;br /&gt;
== HotSpots ==&lt;br /&gt;
&lt;br /&gt;
'''The Database:''' The account used by the application to access the database. Ensure least privilege is in effect.&lt;br /&gt;
&lt;br /&gt;
'''ASP.NET:''' (web.config)&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;authorization&amp;gt; element controls ASP.NET URL authorization and the accessibility to gain access to specific folders, pages and resources by users/web clients.&lt;br /&gt;
Make sure that only authenticated users are authorized to see/visit certain pages.&lt;br /&gt;
 &amp;lt;system.web&amp;gt;&lt;br /&gt;
  &amp;lt;authorization&amp;gt;&lt;br /&gt;
    &amp;lt;deny users=&amp;quot;?&amp;quot;/&amp;gt;   &amp;lt;-- Anonymous users are denied access. Users must be authenticated.&lt;br /&gt;
  &amp;lt;/authorization&amp;gt;&lt;br /&gt;
 &amp;lt;/system.web&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The roleManager Element in ASP.NET 2.0 is used to assist in managing roles within the framework. It assists the developer as not as much bespoke code needs to be developed.&lt;br /&gt;
In web.config, to see if it is enabled check:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;system.web&amp;gt;&lt;br /&gt;
 ..........&lt;br /&gt;
 &amp;lt;roleManager enabled=&amp;quot;true|false&amp;quot; &amp;lt;providers&amp;gt;...&amp;lt;/providers&amp;gt; &amp;lt;/roleManager&amp;gt;&lt;br /&gt;
 ..........&lt;br /&gt;
 &amp;lt;/system.web&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Apache 1.3'''&lt;br /&gt;
&lt;br /&gt;
In Apache 1.3 there is a file called httpd. Access control can be implemented from here in the form of the ''Allow'' and ''Deny'' directives.&lt;br /&gt;
''allow from address'' is the usage where address is the IP address or domain name to apply access to.&lt;br /&gt;
Note this granularity is host level granularity.&lt;br /&gt;
&lt;br /&gt;
deny from 124.20.0.249 denies access to that IP.&lt;br /&gt;
&lt;br /&gt;
Order ensures that the 'order'of access is observed.&lt;br /&gt;
&lt;br /&gt;
Order Deny,Allow&lt;br /&gt;
Deny from all&lt;br /&gt;
Allow from owasp.org&lt;br /&gt;
&lt;br /&gt;
Above, all is denied apart from owasp.org&lt;br /&gt;
&lt;br /&gt;
To move the authorization to the user level in apache we can use the ''Satisfy'' directive.&lt;br /&gt;
&lt;br /&gt;
==Good Example==&lt;br /&gt;
Check authorisation upon every user request.&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
 String action = request.getParameter(&amp;quot;action&amp;quot;)&lt;br /&gt;
 if (action == &amp;quot;doStuff&amp;quot;){&lt;br /&gt;
   boolean permit = session.authTable.isAuthorised(action); // check table if authoirsed to do action&lt;br /&gt;
 }&lt;br /&gt;
 if (permit){&lt;br /&gt;
  doStuff();&lt;br /&gt;
 }else{&lt;br /&gt;
  throw new (InvalidRequestException(&amp;quot;Unauthorised request&amp;quot;); // inform user of no authorisation&lt;br /&gt;
  session.invalidate(); // Kill session&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== Authorisation being performed upon all requests from external entities ===&lt;br /&gt;
[[Image:Authorisation.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Bad Example==&lt;br /&gt;
&lt;br /&gt;
 Building the GUI based on the users authorisation. &amp;quot;If he cant see the control we wont be able to use it&amp;quot; &lt;br /&gt;
- Common enough error. If a user has the URL the functionality can still be called. This is due to no authorisation check being performed upon every HTTP request.&lt;br /&gt;
&lt;br /&gt;
==Related Vulnerabilities==&lt;br /&gt;
&lt;br /&gt;
*[[Reviewing Code for OS Injection]]&lt;br /&gt;
 Operating System injection can be used to totally ignore authorisation constraints. Access to the underlying host is a key objective of system breach. The application is simply a conduit for access to data.&lt;br /&gt;
&lt;br /&gt;
*[[Reviewing Code for SQL Injection]]&lt;br /&gt;
 SQL injection can be used to circumvent authorisation. Again, systems are breached to obtain underlying data, they are not breached for the applications themselves. SQL injection is in essence accessing the data via an &amp;quot;out of band&amp;quot; channel not intended by the application.&lt;br /&gt;
&lt;br /&gt;
*[[Reviewing Code for Data Validation]]&lt;br /&gt;
 The root of all evil - Need we say more :)&lt;br /&gt;
 &lt;br /&gt;
*[[Reviewing The Secure Code Environment]] &lt;br /&gt;
 Insecure class files, folders in deployment may be used to attack an application outside the actual application itself.&lt;br /&gt;
&lt;br /&gt;
*[[Reviewing Code for Session Integrity issues]]&lt;br /&gt;
 Impersonation can obviously be used to gain unauthorised privilege.&lt;br /&gt;
 &lt;br /&gt;
*[[Reviewing Code for Race Conditions]]&lt;br /&gt;
 In a multi user, multi-threaded environment thread safety is important as one may obtain another individuals session in error.&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Code Review Project]]&lt;br /&gt;
[[Category:Authorization]]&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Codereview-Authentication&amp;diff=42302</id>
		<title>Codereview-Authentication</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Codereview-Authentication&amp;diff=42302"/>
				<updated>2008-10-06T21:24:38Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OWASP Code Review Guide Table of Contents]]__TOC__&lt;br /&gt;
[[Category:OWASP Code Review Project]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
“Who are you?” Authentication is the process where an entity proves the identity of another entity, typically through credentials, such as a username and password.&lt;br /&gt;
&lt;br /&gt;
Depending on your requirements, there are several available authentication mechanisms to choose from. If they are not correctly chosen and implemented, the authentication mechanism can expose vulnerabilities that attackers can exploit to gain access to your system.&lt;br /&gt;
&lt;br /&gt;
The following discusses aspects of source code relating to weak authentication functionality.&lt;br /&gt;
This could be due to flawed implementation or broken business logic:&lt;br /&gt;
Authentication is a key line of defence in protecting non-public data, sensitive functionality.&lt;br /&gt;
&lt;br /&gt;
===Weak Passwords and password functionality===&lt;br /&gt;
&lt;br /&gt;
Password strength should be enforced upon a user setting/selecting ones password. Passwords should be complex in composition.&lt;br /&gt;
Such checks should be done on the backend/server side of the application upon an attempt to submit a new password.&lt;br /&gt;
&lt;br /&gt;
====Bad Example====&lt;br /&gt;
Simply checking that a password is not NULL is not sufficient:&lt;br /&gt;
&lt;br /&gt;
 String password = request.getParameter(&amp;quot;Password&amp;quot;);&lt;br /&gt;
 if (password == Null) &lt;br /&gt;
    {throw InvalidPasswordException()&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
====Good Example====&lt;br /&gt;
&lt;br /&gt;
Passwords should be checked for the following composition or a variance of such&lt;br /&gt;
&lt;br /&gt;
 at least: 1 Upper character (A-Z)&lt;br /&gt;
 at least: 1 Lower character (a-z)&lt;br /&gt;
 at least: 1 digit (0-9)&lt;br /&gt;
 at least one special character (!&amp;quot;£$%&amp;amp;...)&lt;br /&gt;
&lt;br /&gt;
 a defined minimum length (8 chars)&lt;br /&gt;
 a defined maximum length (as with all external input)&lt;br /&gt;
 &lt;br /&gt;
 no contiguous characters (123abcd)&lt;br /&gt;
 not more than 2 identical characters in a row (1111)&lt;br /&gt;
&lt;br /&gt;
Such rules should be looked for in code and used as soon as the http request is received.&lt;br /&gt;
The rules can be complex RegEx expressions or logical code statements:&lt;br /&gt;
&lt;br /&gt;
 if password.RegEx([a-z])&lt;br /&gt;
    and password.RegEx([A-Z])&lt;br /&gt;
    and password.RegEx([0-9])&lt;br /&gt;
    and password.RegEx({8-30})&lt;br /&gt;
    and password.RexEX([!&amp;quot;£$%^&amp;amp;*()])&lt;br /&gt;
    return true;&lt;br /&gt;
 else&lt;br /&gt;
 return false;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 (?=^.{8,30}$)(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&amp;amp;*()_+}{&amp;quot;&amp;quot;:;'?/&amp;gt;.&amp;lt;,]).*$ &lt;br /&gt;
&lt;br /&gt;
=== '''.NET Authentication controls''' ===&lt;br /&gt;
In the .NET, there is Authentication tags in the configuration file. &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;'''authentication'''&amp;gt; element configures the authentication mode that your applications use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;'''authentication'''&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The appropriate authentication mode depends on how your application or Web&lt;br /&gt;
service has been designed. The default Machine.config setting applies a secure&lt;br /&gt;
Windows authentication default as shown below.&lt;br /&gt;
&lt;br /&gt;
''' authentication Attributes:mode=&amp;quot;[Windows|Forms|Passport|None]&amp;quot; '''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;authentication mode=&amp;quot;Windows&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''' Forms Authentication Guidelines '''&lt;br /&gt;
To use Forms authentication, set mode=“Forms” on the &amp;lt;authentication&amp;gt; element.&lt;br /&gt;
Next, configure Forms authentication using the child &amp;lt;forms&amp;gt; element. The&lt;br /&gt;
following fragment shows a secure &amp;lt;forms&amp;gt; authentication element configuration:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;authentication mode=&amp;quot;Forms&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;forms loginUrl=&amp;quot;Restricted\login.aspx&amp;quot;     Login page in an SSL protected folder&lt;br /&gt;
       protection=&amp;quot;All&amp;quot;                      Privacy and integrity&lt;br /&gt;
       requireSSL=&amp;quot;true&amp;quot;                     Prevents cookie being sent over http&lt;br /&gt;
       timeout=&amp;quot;10&amp;quot;                          Limited session lifetime&lt;br /&gt;
       name=&amp;quot;AppNameCookie&amp;quot;                  Unique per-application name&lt;br /&gt;
       path=&amp;quot;/FormsAuth&amp;quot;                     and path&lt;br /&gt;
       slidingExpiration=&amp;quot;true&amp;quot; &amp;gt;            Sliding session lifetime&lt;br /&gt;
 &amp;lt;/forms&amp;gt;&lt;br /&gt;
 &amp;lt;/authentication&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Use the following recommendations to improve Forms authentication security:&lt;br /&gt;
* Partition your Web site.&lt;br /&gt;
* Set protection=“All”.&lt;br /&gt;
* Use small cookie time-out values.&lt;br /&gt;
* Consider using a fixed expiration period.&lt;br /&gt;
* Use SSL with Forms authentication.&lt;br /&gt;
* If you do not use SSL, set slidingExpiration = “false”.&lt;br /&gt;
* Do not use the &amp;lt;credentials&amp;gt; element on production servers.&lt;br /&gt;
* Configure the &amp;lt;machineKey&amp;gt; element.&lt;br /&gt;
* Use unique cookie names and paths.&lt;br /&gt;
&lt;br /&gt;
For classic ASP pages, authentication is usually performed manually by including the user information in session variables after validation against a DB, so you can look for something like: &lt;br /&gt;
 Session (&amp;quot;UserId&amp;quot;) = UserName&lt;br /&gt;
 Session (&amp;quot;Roles&amp;quot;) = UserRoles&lt;br /&gt;
&lt;br /&gt;
====Cookieless Forms authentication====&lt;br /&gt;
Authentication tickets in forms are by default stored in cookies. (Authentication tickets are used to remember if the user has authenticated to the system)  Such as a unique id in the cookie og the HTTP header. Other methods to preserve authentication in the stateless HTTP protocol. The directive ''cookieless'' can define thet type of authentication ticket to be used.&lt;br /&gt;
&lt;br /&gt;
Types of cookieless values on the &amp;lt;forms&amp;gt; element:&lt;br /&gt;
&lt;br /&gt;
* UseCookies – specifies that cookie tickets will always be used. &lt;br /&gt;
* UseUri – indicates that cookie tickets will never be used. &lt;br /&gt;
* AutoDetect – cookie tickets are not used if device does not support such; if the device profile supports cookies, a probing function is used to determine if cookies are enabled. &lt;br /&gt;
* UseDeviceProfile – the default setting if not defined; uses cookie-based authentication tickets only if the device profile supports cookies. A probing function is not used.&lt;br /&gt;
&lt;br /&gt;
 cookieless=&amp;quot;UseUri&amp;quot; : What may be found in the &amp;lt;forms&amp;gt; element above&lt;br /&gt;
&lt;br /&gt;
When we talk about probing we are refering to the user agent directive in the HTTP header. This can inform ASP.NET is cookies are supported.&lt;br /&gt;
&lt;br /&gt;
===Vulnerabilities related to authentication ===&lt;br /&gt;
&lt;br /&gt;
There are many issues relating to authentication which utilise form fields. Inadequate field validation can give rise to the following issues:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[Reviewing Code for SQL Injection]]&lt;br /&gt;
 SQL injection can be used to bypass authentication functionality and even add a malicious user to a system for future use.&lt;br /&gt;
*[[Reviewing Code for Data Validation]]&lt;br /&gt;
 Data validation of all external input must be performed. This also goes for authentication fields.&lt;br /&gt;
*[[Reviewing code for XSS issues]]&lt;br /&gt;
 Cross site scripting can be used on the authentication page to perform identity theft, Phishing, and session hijacking attacks.&lt;br /&gt;
*[[Reviewing Code for Error Handling]]&lt;br /&gt;
 Bad/weak error handling can be used to establish the internal workings of the authentication functionality such as giving insight into the database structure, insight into valid and invalid user ID's, etc.&lt;br /&gt;
*[[Reviewing Code for Authentication]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Code Review Project]]&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Searching_for_Code_in_J2EE/Java&amp;diff=42301</id>
		<title>Searching for Code in J2EE/Java</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Searching_for_Code_in_J2EE/Java&amp;diff=42301"/>
				<updated>2008-10-06T21:13:01Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OWASP Code Review Guide Table of Contents]]&lt;br /&gt;
== Searching for key indicators ==&lt;br /&gt;
The basis of the code review is to locate and analyse areas of code which may have application security implications.&lt;br /&gt;
Assuming the code reviewer has a thorough understanding of the code, what it is intended to do and the context upon which it is to be used, firstly one needs to sweep the code base for areas of interest.&lt;br /&gt;
&lt;br /&gt;
This can be done by performing a text search on the code base looking for keywords relating to API's and functions.&lt;br /&gt;
Below is a guide for .NET framework 1.1 &amp;amp; 2.0&lt;br /&gt;
&lt;br /&gt;
=== Searching for code in .NET ===&lt;br /&gt;
&lt;br /&gt;
Firstly one needs to be familiar with the tools one can use in order to perform text searching following on from this one need to know what to look for.&lt;br /&gt;
 &lt;br /&gt;
In this section we will assume you have a copy of Visual Studio (VS) .NET at hand. VS has two types of search &amp;quot;'''Find in Files'''&amp;quot; and a cmd line tool called '''Findstr'''&lt;br /&gt;
  &lt;br /&gt;
The test search tools in XP is not great in my experience and if one has to use this make sure SP2 in installed as it works better.&lt;br /&gt;
To start off one should scan thorough the code looking for common patterns or keywords such as &amp;quot;User&amp;quot;, &amp;quot;Password&amp;quot;, &amp;quot;Pswd&amp;quot;, &amp;quot;Key&amp;quot;, &amp;quot;Http&amp;quot;, etc...&lt;br /&gt;
This can be done using the &amp;quot;Find in Files&amp;quot; tool in VS or using findstring as follows:&lt;br /&gt;
 &lt;br /&gt;
[Find In Files HERE]&lt;br /&gt;
&lt;br /&gt;
 '''findstr /s /m /i /d:c:\projects\codebase\sec &amp;quot;http&amp;quot; *.*'''&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
====Http Request Strings====&lt;br /&gt;
Requests from external sources are obviously a key area of a secure code review. We need to ensure that all HTTP requests received are data validated for composition, max and min length and if the data falls with the realms of the parameter white-list.&lt;br /&gt;
Bottom-line is this is a key area to look at and ensure security is enabled.&lt;br /&gt;
&lt;br /&gt;
 request.accepttypes&lt;br /&gt;
 request.browser&lt;br /&gt;
 request.files&lt;br /&gt;
 request.headers&lt;br /&gt;
 request.httpmethod&lt;br /&gt;
 request.item&lt;br /&gt;
 request.querystring&lt;br /&gt;
 request.form &lt;br /&gt;
 request.cookies&lt;br /&gt;
 request.certificate&lt;br /&gt;
 request.rawurl&lt;br /&gt;
 request.servervariables&lt;br /&gt;
 request.url&lt;br /&gt;
 request.urlreferrer&lt;br /&gt;
 request.useragent&lt;br /&gt;
 request.userlanguages&lt;br /&gt;
 request.IsSecureConnection&lt;br /&gt;
 request.TotalBytes&lt;br /&gt;
 request.BinaryRead&lt;br /&gt;
 InputStream&lt;br /&gt;
 HiddenField.Value&lt;br /&gt;
 TextBox.Text&lt;br /&gt;
 recordSet&lt;br /&gt;
&lt;br /&gt;
====HTML Output====&lt;br /&gt;
Here we are looking for responses to the client. Responses which go unvalidated or which echo external input without data validation are key areas to examine. Many client side attacks result from poor response validation. XSS relies on this somewhat.&lt;br /&gt;
&lt;br /&gt;
 response.write&lt;br /&gt;
 &amp;lt;% =&lt;br /&gt;
 HttpUtility&lt;br /&gt;
 HtmlEncode&lt;br /&gt;
 UrlEncode&lt;br /&gt;
 innerText&lt;br /&gt;
 innerHTML&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====SQL &amp;amp; Database====&lt;br /&gt;
Locating where a database may be involved in the code is an important aspect of the code review. Looking at the database code will help determine if the application is vulnerable to SQL injection. One aspect of this is to verify that the code uses either ''SqlParameter'', ''OleDbParameter'', or ''OdbcParameter''(System.Data.SqlClient). These are typed and treat parameters as the literal value and not executable code in the database. &lt;br /&gt;
&lt;br /&gt;
 exec sp_executesql&lt;br /&gt;
 execute sp_executesql&lt;br /&gt;
 select from&lt;br /&gt;
 Insert&lt;br /&gt;
 update&lt;br /&gt;
 delete from where&lt;br /&gt;
 delete&lt;br /&gt;
 exec sp_&lt;br /&gt;
 execute sp_&lt;br /&gt;
 exec xp_&lt;br /&gt;
 execute sp_&lt;br /&gt;
 exec @&lt;br /&gt;
 execute @&lt;br /&gt;
 executestatement&lt;br /&gt;
 executeSQL&lt;br /&gt;
 setfilter&lt;br /&gt;
 executeQuery&lt;br /&gt;
 GetQueryResultInXML&lt;br /&gt;
 adodb&lt;br /&gt;
 sqloledb&lt;br /&gt;
 sql server&lt;br /&gt;
 driver&lt;br /&gt;
 Server.CreateObject&lt;br /&gt;
 .Provider&lt;br /&gt;
 .Open&lt;br /&gt;
 ADODB.recordset&lt;br /&gt;
 New OleDbConnection&lt;br /&gt;
 ExecuteReader&lt;br /&gt;
 DataSource&lt;br /&gt;
 SqlCommand&lt;br /&gt;
 Microsoft.Jet&lt;br /&gt;
 SqlDataReader&lt;br /&gt;
 ExecuteReader&lt;br /&gt;
 GetString&lt;br /&gt;
 SqlDataAdapter &lt;br /&gt;
 CommandType&lt;br /&gt;
 StoredProcedure&lt;br /&gt;
 System.Data.sql&lt;br /&gt;
&lt;br /&gt;
====Cookies====&lt;br /&gt;
Cookie manipulation can be key to various application security exploits such as session hijacking/fixation and parameter manipulation. One should examine any code relating to cookie functionality as this would have a bearing on session security.&lt;br /&gt;
 System.Net.Cookie &lt;br /&gt;
 [[HTTPOnly]]&lt;br /&gt;
 document.cookie&lt;br /&gt;
&lt;br /&gt;
==== HTML Tags====&lt;br /&gt;
Many of the HTML tags below can be used for client side attacks such as cross site scripting. It is important to examine the context in which these tags are used and to examine any relevant data validation associated with the display and use of such tags within a web application.&lt;br /&gt;
&lt;br /&gt;
 HtmlEncode &lt;br /&gt;
 URLEncode&lt;br /&gt;
 &amp;lt;applet&amp;gt; &lt;br /&gt;
 &amp;lt;frameset&amp;gt; &lt;br /&gt;
 &amp;lt;embed&amp;gt; &lt;br /&gt;
 &amp;lt;frame&amp;gt; &lt;br /&gt;
 &amp;lt;html&amp;gt;&lt;br /&gt;
 &amp;lt;iframe&amp;gt; &lt;br /&gt;
 &amp;lt;img&amp;gt; &lt;br /&gt;
 &amp;lt;style&amp;gt; &lt;br /&gt;
 &amp;lt;layer&amp;gt; &lt;br /&gt;
 &amp;lt;ilayer&amp;gt; &lt;br /&gt;
 &amp;lt;meta&amp;gt; &lt;br /&gt;
 &amp;lt;object&amp;gt; &lt;br /&gt;
 &amp;lt;body&amp;gt; &lt;br /&gt;
 &amp;lt;frame security&lt;br /&gt;
 &amp;lt;iframe security&lt;br /&gt;
&lt;br /&gt;
====Input Controls====&lt;br /&gt;
The input controls below are server classes used to produce and display web application form fields. Looking for such references helps locate entry points into the application.&lt;br /&gt;
&lt;br /&gt;
 system.web.ui.htmlcontrols.htmlinputhidden&lt;br /&gt;
 system.web.ui.webcontrols.hiddenfield&lt;br /&gt;
 system.web.ui.webcontrols.hyperlink&lt;br /&gt;
 system.web.ui.webcontrols.textbox&lt;br /&gt;
 system.web.ui.webcontrols.label&lt;br /&gt;
 system.web.ui.webcontrols.linkbutton&lt;br /&gt;
 system.web.ui.webcontrols.listbox&lt;br /&gt;
 system.web.ui.webcontrols.checkboxlist&lt;br /&gt;
 system.web.ui.webcontrols.dropdownlist&lt;br /&gt;
&lt;br /&gt;
====web.config====&lt;br /&gt;
The .NET Framework relies on .config files to define configuration settings. The .config files are text-based XML files. Many .config files can, and typically do, exist on a single system. Web applications refer to a web.config file located in the application’s root directory. For ASP.NET applications, web.config contains information about most aspects of the application’s operation.&lt;br /&gt;
&lt;br /&gt;
 requestEncoding&lt;br /&gt;
 responseEncoding&lt;br /&gt;
 trace&lt;br /&gt;
 authorization&lt;br /&gt;
 compilation&lt;br /&gt;
 CustomErrors&lt;br /&gt;
 httpCookies&lt;br /&gt;
 httpHandlers&lt;br /&gt;
 httpRuntime&lt;br /&gt;
 sessionState&lt;br /&gt;
 maxRequestLength&lt;br /&gt;
 debug&lt;br /&gt;
 forms protection&lt;br /&gt;
 appSettings&lt;br /&gt;
 ConfigurationSettings&lt;br /&gt;
 appSettings&lt;br /&gt;
 connectionStrings&lt;br /&gt;
 authentication mode&lt;br /&gt;
 allow&lt;br /&gt;
 deny&lt;br /&gt;
 credentials&lt;br /&gt;
 identity impersonate&lt;br /&gt;
 timeout&lt;br /&gt;
 remote&lt;br /&gt;
&lt;br /&gt;
====global.asax====&lt;br /&gt;
Each application has its own Global.asax if one is required. Global.asax sets the event code and values for an application using scripts. One must ensure that application variables do not contain sensitive information, as they are accessible to the whole application and to all users within it.&lt;br /&gt;
&lt;br /&gt;
 Application_OnAuthenticateRequest&lt;br /&gt;
 Application_OnAuthorizeRequest&lt;br /&gt;
 Session_OnStart&lt;br /&gt;
 Session_OnEnd&lt;br /&gt;
&lt;br /&gt;
====Logging====&lt;br /&gt;
Logging can be a source of information leakage. It is important to examine all calls to the logging subsystem and to determine if any sensitive information is being logged. Common mistakes are logging userID in conjunction with passwords within the authentication functionality or logging database requests which may contains sensitive data.&lt;br /&gt;
&lt;br /&gt;
 log4net&lt;br /&gt;
 Console.WriteLine&lt;br /&gt;
 System.Diagnostics.Debug&lt;br /&gt;
 System.Diagnostics.Trace&lt;br /&gt;
&lt;br /&gt;
====Machine.config====&lt;br /&gt;
Its important that many variables in machine.config can be overridden in the web.config file for a particular application.&lt;br /&gt;
&lt;br /&gt;
 validateRequest&lt;br /&gt;
 enableViewState&lt;br /&gt;
 enableViewStateMac&lt;br /&gt;
&lt;br /&gt;
====Threads and Concurrency====&lt;br /&gt;
Locating code that contains multithreaded functions. Concurrency issues can result in race conditions which may result in security vulnerabilities. The Thread keyword is where new threads objects are created. Code that uses static global variables which hold sensitive security information may cause session issues. Code that uses static constructors may also cause issues between threads. Not synchronizing the Dispose method may cause issues if a number of threads call Dispose at the same time, this may cause resource release issues.&lt;br /&gt;
&lt;br /&gt;
 Thread&lt;br /&gt;
 Dispose&lt;br /&gt;
&lt;br /&gt;
====Class Design====&lt;br /&gt;
Public and Sealed relate to the design at class level. Classes which are not intended to be derived from should be sealed. Make sure all class fields are Public for a reason. Don't expose anything you don't need to.&lt;br /&gt;
&lt;br /&gt;
 Public&lt;br /&gt;
 Sealed&lt;br /&gt;
&lt;br /&gt;
====Reflection, Serialization====&lt;br /&gt;
Code may be generated dynamically at runtime. Code that is generated dynamically as a function of external input may give rise to issues. If your code contains sensitive data does it need to be serialized. &lt;br /&gt;
&lt;br /&gt;
 Serializable &lt;br /&gt;
 AllowPartiallyTrustedCallersAttribute&lt;br /&gt;
 GetObjectData &lt;br /&gt;
 StrongNameIdentityPermission&lt;br /&gt;
 StrongNameIdentity&lt;br /&gt;
 System.Reflection&lt;br /&gt;
&lt;br /&gt;
====Exceptions &amp;amp; Errors====&lt;br /&gt;
Ensure that the catch blocks do not leak information to the user in the case of an exception. Ensure when dealing with resources that the finally block is used. Having trace enabled is not great from an information leakage perspective. Ensure customised errors are properly implemented.&lt;br /&gt;
&lt;br /&gt;
 catch{&lt;br /&gt;
 Finally&lt;br /&gt;
 trace enabled&lt;br /&gt;
 customErrors mode&lt;br /&gt;
&lt;br /&gt;
====Crypto====&lt;br /&gt;
If cryptography is used then is a strong enough cipher used i.e. AES or 3DES. What size key is used, the larger the better. Where is hashing performed? Are passwords that are being persisted hashed? They should be.&lt;br /&gt;
How are random numbers generated? Is the PRNG &amp;quot;random enough&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
 RNGCryptoServiceProvider&lt;br /&gt;
 SHA&lt;br /&gt;
 MD5&lt;br /&gt;
 base64&lt;br /&gt;
 xor&lt;br /&gt;
 DES&lt;br /&gt;
 RC2&lt;br /&gt;
 System.Random&lt;br /&gt;
 Random&lt;br /&gt;
 System.Security.Cryptography&lt;br /&gt;
&lt;br /&gt;
====Storage====&lt;br /&gt;
If storing sensitive data in memory recommend one uses the following. &lt;br /&gt;
&lt;br /&gt;
 SecureString&lt;br /&gt;
 ProtectedMemory&lt;br /&gt;
&lt;br /&gt;
====Authorization, Assert &amp;amp; Revert====&lt;br /&gt;
Bypassing the code access security permission? Not a good idea. Also below is a list of potentially dangerous permissions such as calling unmanaged code, outside the CLR.&lt;br /&gt;
&lt;br /&gt;
 .RequestMinimum&lt;br /&gt;
 .RequestOptional&lt;br /&gt;
 Assert&lt;br /&gt;
 Debug.Assert&lt;br /&gt;
 CodeAccessPermission&lt;br /&gt;
 ReflectionPermission.MemberAccess&lt;br /&gt;
 SecurityPermission.ControlAppDomain&lt;br /&gt;
 SecurityPermission.UnmanagedCode&lt;br /&gt;
 SecurityPermission.SkipVerification&lt;br /&gt;
 SecurityPermission.ControlEvidence&lt;br /&gt;
 SecurityPermission.SerializationFormatter&lt;br /&gt;
 SecurityPermission.ControlPrincipal&lt;br /&gt;
 SecurityPermission.ControlDomainPolicy&lt;br /&gt;
 SecurityPermission.ControlPolicy&lt;br /&gt;
&lt;br /&gt;
====Legacy methods====&lt;br /&gt;
 printf&lt;br /&gt;
 strcpy&lt;br /&gt;
&lt;br /&gt;
=== Searching for code in J2EE/Java ===&lt;br /&gt;
&lt;br /&gt;
====Input and Output Streams====&lt;br /&gt;
These are used to read data into ones application. They may be potential entry points into an application. The entry points may be from an external source and must be investigated. These may also be used in path traversal attacks or DoS attacks.&lt;br /&gt;
&lt;br /&gt;
 Java.io&lt;br /&gt;
 java.util.zip&lt;br /&gt;
 java.util.jar&lt;br /&gt;
 FileInputStream&lt;br /&gt;
 ObjectInputStream&lt;br /&gt;
 FilterInputStream&lt;br /&gt;
 PipedInputStream&lt;br /&gt;
 SequenceInputStream&lt;br /&gt;
 StringBufferInputStream&lt;br /&gt;
 BufferedReader&lt;br /&gt;
 ByteArrayInputStream&lt;br /&gt;
 CharArrayReader&lt;br /&gt;
 File&lt;br /&gt;
 ObjectInputStream&lt;br /&gt;
 PipedInputStream&lt;br /&gt;
 StreamTokenizer&lt;br /&gt;
 getResourceAsStream&lt;br /&gt;
 java.io.FileReader&lt;br /&gt;
 java.io.FileWriter&lt;br /&gt;
 java.io.RandomAccessFile&lt;br /&gt;
 java.io.File&lt;br /&gt;
 java.io.FileOutputStream&lt;br /&gt;
 mkdir&lt;br /&gt;
 renameTo&lt;br /&gt;
&lt;br /&gt;
====Servlets====&lt;br /&gt;
These API calls may be avenues for parameter, header, URL &amp;amp; cookie tampering, HTTP Response Splitting and information leakage. They should be examined closely as many of such API's obtain the parameters directly from HTTP requests.&lt;br /&gt;
 javax.servlet.&lt;br /&gt;
 getParameterNames&lt;br /&gt;
 getParameterValues&lt;br /&gt;
 getParameter&lt;br /&gt;
 getParameterMap&lt;br /&gt;
 getScheme&lt;br /&gt;
 getProtocol&lt;br /&gt;
 getContentType&lt;br /&gt;
 getServerName&lt;br /&gt;
 getRemoteAddr&lt;br /&gt;
 getRemoteHost&lt;br /&gt;
 getRealPath&lt;br /&gt;
 getLocalName&lt;br /&gt;
 getAttribute&lt;br /&gt;
 getAttributeNames&lt;br /&gt;
 getLocalAddr&lt;br /&gt;
 getAuthType&lt;br /&gt;
 getRemoteUser&lt;br /&gt;
 getCookies&lt;br /&gt;
 isSecure&lt;br /&gt;
 HttpServletRequest&lt;br /&gt;
 getQueryString&lt;br /&gt;
 getHeaderNames&lt;br /&gt;
 getHeaders&lt;br /&gt;
 getPrincipal&lt;br /&gt;
 getUserPrincipal&lt;br /&gt;
 isUserInRole&lt;br /&gt;
 getInputStream&lt;br /&gt;
 getOutputStream&lt;br /&gt;
 getWriter&lt;br /&gt;
 addCookie&lt;br /&gt;
 addHeader&lt;br /&gt;
 setHeader&lt;br /&gt;
 setAttribute&lt;br /&gt;
 putValue&lt;br /&gt;
 javax.servlet.http.Cookie&lt;br /&gt;
 getName&lt;br /&gt;
 getPath&lt;br /&gt;
 getDomain&lt;br /&gt;
 getComment&lt;br /&gt;
 getMethod&lt;br /&gt;
 getPath&lt;br /&gt;
 getReader&lt;br /&gt;
 getRealPath&lt;br /&gt;
 getRequestURI&lt;br /&gt;
 getRequestURL&lt;br /&gt;
 getServerName&lt;br /&gt;
 getValue&lt;br /&gt;
 getValueNames&lt;br /&gt;
 getRequestedSessionId&lt;br /&gt;
&lt;br /&gt;
'''Cross site scripting'''&lt;br /&gt;
 javax.servlet.ServletOutputStream.print&lt;br /&gt;
 javax.servlet.jsp.JspWriter.print&lt;br /&gt;
 java.io.PrintWriter.print&lt;br /&gt;
&lt;br /&gt;
'''Response Splitting'''&lt;br /&gt;
 javax.servlet.http.HttpServletResponse.sendRedirect&lt;br /&gt;
 Response.setHeader&lt;br /&gt;
&lt;br /&gt;
'''Redirection'''&lt;br /&gt;
 sendRedirect&lt;br /&gt;
 setStatus&lt;br /&gt;
 addHeader&lt;br /&gt;
&lt;br /&gt;
====SQL &amp;amp; Database====&lt;br /&gt;
Searching for Java Database related code this list should help you pinpoint classes/methods which are involved in the persistence layer of the application being reviewed.&lt;br /&gt;
 jdbc&lt;br /&gt;
 executeQuery&lt;br /&gt;
 select&lt;br /&gt;
 insert&lt;br /&gt;
 update&lt;br /&gt;
 delete&lt;br /&gt;
 execute&lt;br /&gt;
 executestatement&lt;br /&gt;
 createStatement&lt;br /&gt;
 java.sql.ResultSet.getString&lt;br /&gt;
 java.sql.ResultSet.getObject&lt;br /&gt;
 java.sql.Statement.executeUpdate&lt;br /&gt;
 java.sql.Statement.executeQuery&lt;br /&gt;
 java.sql.Statement.execute&lt;br /&gt;
 java.sql.Statement.addBatch&lt;br /&gt;
 java.sql.Connection.prepareStatement&lt;br /&gt;
 java.sql.Connection.prepareCall&lt;br /&gt;
&lt;br /&gt;
====SSL====&lt;br /&gt;
&lt;br /&gt;
Looking for code which utilises SSL as a medium for point to point encryption. The following fragments should indicate where SSL functionality has been developed.&lt;br /&gt;
&lt;br /&gt;
 com.sun.net.ssl&lt;br /&gt;
 SSLContext&lt;br /&gt;
 SSLSocketFactory&lt;br /&gt;
 TrustManagerFactory&lt;br /&gt;
 HttpsURLConnection&lt;br /&gt;
 KeyManagerFactory&lt;br /&gt;
&lt;br /&gt;
====Session Management====&lt;br /&gt;
 getSession&lt;br /&gt;
 invalidate&lt;br /&gt;
 getId &lt;br /&gt;
&lt;br /&gt;
====Data Validation====&lt;br /&gt;
&lt;br /&gt;
====Legacy Interaction====&lt;br /&gt;
Here we may be vulnerable to command injection attacks or OS injection attacks. Java linking to the native OS can cause serious issues and potentially give rise to total server compromise.&lt;br /&gt;
&lt;br /&gt;
 java.lang.Runtime.exec&lt;br /&gt;
 java.lang.Runtime.getRuntime&lt;br /&gt;
&lt;br /&gt;
====Logging====&lt;br /&gt;
We may come across some information leakage by examining code below contained in ones application.&lt;br /&gt;
&lt;br /&gt;
 java.io.PrintStream.write&lt;br /&gt;
 log4j&lt;br /&gt;
 jLo&lt;br /&gt;
 Lumberjack&lt;br /&gt;
 MonoLog&lt;br /&gt;
 qflog&lt;br /&gt;
 just4log&lt;br /&gt;
 log4Ant&lt;br /&gt;
 JDLabAgent&lt;br /&gt;
&lt;br /&gt;
====Architectural Analysis====&lt;br /&gt;
If we can identify major architectural components within that application (right away) it can help narrow our search, and we can then look for known vulnerabilities in those components and frameworks:&lt;br /&gt;
&lt;br /&gt;
 ### Ajax&lt;br /&gt;
 XMLHTTP&lt;br /&gt;
 ### Struts&lt;br /&gt;
 org.apache.struts&lt;br /&gt;
 ### Spring&lt;br /&gt;
 org.springframework&lt;br /&gt;
 ### Java Server Faces (JSF)&lt;br /&gt;
 import javax.faces&lt;br /&gt;
 ### Hibernate&lt;br /&gt;
 import org.hibernate&lt;br /&gt;
 ### Castor&lt;br /&gt;
 org.exolab.castor&lt;br /&gt;
 ### JAXB&lt;br /&gt;
 javax.xml&lt;br /&gt;
 ### JMS&lt;br /&gt;
 JMS&lt;br /&gt;
 &lt;br /&gt;
=== Searching for code in Classic ASP ===&lt;br /&gt;
&lt;br /&gt;
====Inputs====&lt;br /&gt;
 Request&lt;br /&gt;
 Request.QueryString&lt;br /&gt;
 Request.Form&lt;br /&gt;
 Request.ServerVariables&lt;br /&gt;
 Query_String&lt;br /&gt;
 hidden&lt;br /&gt;
 include&lt;br /&gt;
 .inc&lt;br /&gt;
 &lt;br /&gt;
====Output====&lt;br /&gt;
 Response.Write&lt;br /&gt;
 Response.BinaryWrite&lt;br /&gt;
 &amp;lt;%=&lt;br /&gt;
&lt;br /&gt;
====Cookies====&lt;br /&gt;
 .cookies&lt;br /&gt;
 &lt;br /&gt;
====Error Handling====&lt;br /&gt;
  err.&lt;br /&gt;
  Server.GetLastError&lt;br /&gt;
  On Error Resume Next&lt;br /&gt;
  On Error GoTo 0&lt;br /&gt;
  &lt;br /&gt;
====Information in URL====&lt;br /&gt;
 location.href&lt;br /&gt;
 location.replace&lt;br /&gt;
 method=&amp;quot;GET&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
====Database====&lt;br /&gt;
 commandText&lt;br /&gt;
 select from&lt;br /&gt;
 update&lt;br /&gt;
 insert into&lt;br /&gt;
 delete from where&lt;br /&gt;
 exec&lt;br /&gt;
 execute&lt;br /&gt;
 .execute&lt;br /&gt;
 .open&lt;br /&gt;
 ADODB.&lt;br /&gt;
 commandtype&lt;br /&gt;
 ICommand&lt;br /&gt;
 IRowSet&lt;br /&gt;
 &lt;br /&gt;
====Session====&lt;br /&gt;
 session.timeout&lt;br /&gt;
 session.abandon&lt;br /&gt;
 session.removeall&lt;br /&gt;
 &lt;br /&gt;
====DoS Prevention====&lt;br /&gt;
 server.ScriptTimeout  &lt;br /&gt;
 IsClientConnected&lt;br /&gt;
  &lt;br /&gt;
====Logging====&lt;br /&gt;
 WriteEntry&lt;br /&gt;
 &lt;br /&gt;
====Redirection====&lt;br /&gt;
 Response.AddHeader&lt;br /&gt;
 Response.AppendHeader&lt;br /&gt;
 Response.Redirect&lt;br /&gt;
 Response.Status&lt;br /&gt;
 Response.StatusCode&lt;br /&gt;
 Server.Transfer&lt;br /&gt;
 Server.Execute&lt;br /&gt;
&lt;br /&gt;
===Generic keywords===&lt;br /&gt;
Developers say the darnedest things in their source code.  Look for the following keywords as pointers to possible software vulnerabilities:&lt;br /&gt;
&lt;br /&gt;
 Hack&lt;br /&gt;
 Kludge&lt;br /&gt;
 Bypass&lt;br /&gt;
 Steal&lt;br /&gt;
 Stolen&lt;br /&gt;
 Divert&lt;br /&gt;
 Broke&lt;br /&gt;
 Trick&lt;br /&gt;
 Fix&lt;br /&gt;
 ToDo&lt;br /&gt;
&lt;br /&gt;
===Web 2.0===&lt;br /&gt;
&lt;br /&gt;
====Ajax and JavaScript====&lt;br /&gt;
Look for Ajax usage, and possible JavaScript issues:&lt;br /&gt;
&lt;br /&gt;
 eval(&lt;br /&gt;
 document.cookie&lt;br /&gt;
 document.referrer&lt;br /&gt;
 document.attachEvent&lt;br /&gt;
 document.body&lt;br /&gt;
 document.body.innerHtml&lt;br /&gt;
 document.body.innerText&lt;br /&gt;
 document.close&lt;br /&gt;
 document.create&lt;br /&gt;
 document.createElement&lt;br /&gt;
 document.execCommand&lt;br /&gt;
 document.forms[0].action&lt;br /&gt;
 document.location&lt;br /&gt;
 document.open&lt;br /&gt;
 document.URL&lt;br /&gt;
 document.URLUnencoded&lt;br /&gt;
 document.write&lt;br /&gt;
 document.writeln&lt;br /&gt;
 location.hash&lt;br /&gt;
 location.href&lt;br /&gt;
 location.search&lt;br /&gt;
 window.alert&lt;br /&gt;
 window.attachEvent&lt;br /&gt;
 window.createRequest&lt;br /&gt;
 window.execScript&lt;br /&gt;
 window.location&lt;br /&gt;
 window.open&lt;br /&gt;
 window.navigate&lt;br /&gt;
 window.setInterval&lt;br /&gt;
 window.setTimeout&lt;br /&gt;
 XMLHTTP&lt;br /&gt;
[[Category:OWASP Code Review Project]]&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Crawling_Code&amp;diff=39616</id>
		<title>Crawling Code</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Crawling_Code&amp;diff=39616"/>
				<updated>2008-09-13T14:22:59Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OWASP Code Review Guide Table of Contents]]__TOC__&lt;br /&gt;
===Crawing Code===&lt;br /&gt;
Crawling code is the practice of scanning a code base of the review target in question. It is, in effect, looking for key pointers wherein a possible security vulnerability might reside. Certain API's are related to interfacing to the external world or file IO or user management which are key areas for an attacker to focus on. In crawling code we look for API relating to these areas. We also need to look for business logic areas which may cause security issues but generally these are bespoke methods which have bespoke names and can not be detected directly, even though we may touch on certain methods due to their relationship with a certain key API.&lt;br /&gt;
&lt;br /&gt;
Also we need to look for common issues relating to a specific language; issues that may not be *security* related but which may affect the stability/availability of the application in the case of extraordinary circumstances. Other issues when performing a code review are areas such a simple copyright notice in order to protect ones intellectual property.&lt;br /&gt;
&lt;br /&gt;
Crawling code can be done manually or in an automated fashion using automated tools. Tools as simple as grep or wingrep can be used. Other tools are available which would search for key words relating to a specific programming language.&lt;br /&gt;
&lt;br /&gt;
The following sections shall cover the function of crawing code for Java/J2EE, .NET and Classic ASP. &lt;br /&gt;
This section is best used in conjunction with the [[Transaction_Analysis|transactional analysis]] section also detailed in this guide.&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Code Review Project]]&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_EU_Summit_2008_Paid_Participants&amp;diff=39487</id>
		<title>OWASP EU Summit 2008 Paid Participants</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_EU_Summit_2008_Paid_Participants&amp;diff=39487"/>
				<updated>2008-09-12T13:02:35Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Provisory list of 'expenses paid' participants    ==&lt;br /&gt;
&lt;br /&gt;
 {| style=&amp;quot;width:100%&amp;quot; border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
 ! colspan=&amp;quot;7&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background:#4058A0; color:white&amp;quot;|&amp;lt;font color=&amp;quot;white&amp;quot;&amp;gt;'''PROJECTED CONFERENCE PAID ATTENDEES AND/OR SPEAKERS - NEEDS OWASP BOARD CONFIRMATION''' &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#b3b3b3&amp;quot; align=&amp;quot;center&amp;quot;|'''NAME'''&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#b3b3b3&amp;quot; align=&amp;quot;center&amp;quot;|'''POSITION/REASON OF ATTENDANCE'''&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#b3b3b3&amp;quot; align=&amp;quot;center&amp;quot;|'''COUNTRY'''&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#b3b3b3&amp;quot; align=&amp;quot;center&amp;quot;|'''DEPARTURE (AIRPORT/CITY)'''&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#b3b3b3&amp;quot; align=&amp;quot;center&amp;quot;|'''DATE OF ARRIVAL'''&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#b3b3b3&amp;quot; align=&amp;quot;center&amp;quot;|'''DATE OF DEPARTURE'''&lt;br /&gt;
 |-&lt;br /&gt;
 ! colspan=&amp;quot;7&amp;quot; align=&amp;quot;left&amp;quot; style=&amp;quot;background:white; color:black&amp;quot;|&amp;lt;font color=&amp;quot;black&amp;quot;&amp;gt;'''OWASP BOARD MEMBERS &amp;amp; EMPLOYEES''' &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Jeff Williams&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Board, Chair, Wiki, Management&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|USA&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Washington, D.C. &lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Dave Wichers &lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Board, Conferences, Financials&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|USA&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Washington, D.C.&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Dinis Cruz &lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Board, Firehose of Ideas and Money spender&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|UK&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|London&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Tom Brennan &lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Board, OWASP Governance&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|USA&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|New York, NY&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Sebastien Deleersnyder &lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Board, OWASP Chapters and Projects&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Belgium&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|?&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Paulo Coimbra&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Employee, Project Manager&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|UK&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|London&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Kate Hartmann&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Employee, Operations Director&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|USA&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Washington, D.C.&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |-&lt;br /&gt;
 ! colspan=&amp;quot;7&amp;quot; align=&amp;quot;left&amp;quot; style=&amp;quot;background:white; color:black&amp;quot;|&amp;lt;font color=&amp;quot;black&amp;quot;&amp;gt;'''OWASP SUMMER OF CODE 2008 PROJECT LEADERS &amp;amp; REVIEWERS''' &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Achim Hoffmann&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Reviewer, OWASP Skavenger Project, OWASP w3af Project  &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Germany&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Frankfurt or Munich&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Alexander Fry&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Reviewer, OWASP Source Code Review OWASP Projects&amp;lt;br&amp;gt;OWASP Teachable Static Analysis Workbench&amp;lt;br&amp;gt;OWASP WeBekci Project  &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|USA&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Washington, D.C. (IAD)&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Arshan Dabirsiaghi&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Project leader, OWASP AntiSamy Project&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|USA&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Baltimore, MD&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Andrew Petukhov &lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Project leader, OWASP Access Control Rules Tester Project&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Russia&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Moscow&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Dmitry Kozlov &lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Project leader, OWASP Teachable Static Analysis, OWASP Application Security Tool Benchmarking Environment and Site Generator Refresh Project&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Russia&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Moscow&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Arturo Alberto Busleiman &lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Project leader, OWASP Enigform and mod_Openpgp &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Argentina&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|?&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Carlo Pelliccioni &lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Project leader, OWASP Backend Security Project&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Italy &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Rome (FCO)&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Eduardo Vianna de Camargo Neves  &lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Project leader, OWASP Positive Security  &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Brazil &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Curitiba (CWB)&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Wagner Elias  &lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Reviwer, OWASP Positive Security  &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Brazil &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|São Paulo(GRU)&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Eoin Keary&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Project leader, OWASP Code Review Guide, Chapter Leader &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Ireland&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Dublin (DUB)&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Rahim Jina&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Reviewer, OWASP Code Review Guide&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Ireland&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Dublin (DUB)&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Esteban Ribicic&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Reviewer, OWASP Backend Security Project&amp;lt;br&amp;gt;OWASP Classic ASP Security Project&amp;lt;br&amp;gt;OWASP AntiSamy .NET&amp;lt;br&amp;gt;OWASP Interceptor Project - 2008 Update&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Croatia&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Wien&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Fabio Cerullo&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Reviewer, OWASP Internationalization Guidelines Project&amp;lt;br&amp;gt;OWASP Spanish Project&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Ireland&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Dublin (DUB)&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Frederick Donovan&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Reviewer, OWASP Application Security Desk Reference (ASDR) &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|United States&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|?&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Heiko Webers&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Project leader, OWASP Ruby on Rails Security Project&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Germany&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Frankfurt&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Anthony Shireman&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Project reviewer, OWASP Ruby on Rails Security Project&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|USA&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Portland, OR (PDX)&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Kevin Fuller&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Reviewer, OWASP Testing Guide v3&amp;lt;br&amp;gt;OWASP SQL Injector Benchmarking Project (SQLiBENCH)&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|USA&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Sacramento Ca &lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Leonardo Cavallari Militelli&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Project leader, OWASP Application Security Desk Reference (ASDR)&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Brazil &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Sao Paulo (GRU)&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Mark Roxberry&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Leader, OWASP .NET Project&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|USA&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|?&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Matt Tesauro&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Project Leader, OWASP Live CD 2008&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|USA&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Austin, TX or Dallas, TX&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Matteo Meucci&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Project Leader, OWASP Testing Guide&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Italy&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Rome&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Matthias Rohr&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Project leader, OWASP Skavenger Project &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Germany &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|?&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Michael Coates&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Project leader, OWASP AppSensor &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|USA&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Chicago&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Justin Derry&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Project leader, OWASP Interceptor, Brisbane Chapter Leader, Asia Pacific Conference Chair&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Australia&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Bejing China&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Nam Nguyen&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Reviewer, OWASP Testing Guide v3, Python Static Analysis, OWASP Education&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Vietnam&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Ho Chi Minh City&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|P.Satish Kumar&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Reviewer, OWASP Code Review Guide &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|India&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Hyderabad/Mumbai/Chennai&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Paolo Perego&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Project Leader, OWASP Orizon Project  &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Italy&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|?&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Parvathy Iyer &lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|OWASP Corporate Application Security Guide &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|USA&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Newark (New Jersey)or Newyork (Newyork city)&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Pierre Parrend&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Reviewer, OWASP OpenSign Server Project&amp;lt;br&amp;gt;OWASP Application Security Verification Standard &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|France&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|?&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Stephen Craig Evans&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Project leader, OWASP Securing WebGoat using ModSecurity &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Singapore&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Singapore&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Jason Li&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Project leader, OWASP JSP Testing Tool&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|USA&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Baltimore&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Gandhi Aryavalli Sriranga Narasimha&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Reviewer, OWASP Application Security Desk Reference (ASDR)&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|India &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Bangalore&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Rodrigo Marcos&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Reviewer, OWASP Internationalization Guidelines Project&amp;lt;br&amp;gt;OWASP Spanish Project&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|UK&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|London&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Marcin Wielgoszewski&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Reviewer, OWASP AntiSamy.NET&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|USA&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|New York, NY&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|James Walden&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Project Leader, OWASP Source Code Review OWASP Projects&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|USA&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Cincinnati, OH&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Name&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |-&lt;br /&gt;
 ! colspan=&amp;quot;7&amp;quot; align=&amp;quot;left&amp;quot; style=&amp;quot;background:white; color:black&amp;quot;|&amp;lt;font color=&amp;quot;black&amp;quot;&amp;gt;'''OWASP SUMMER OF CODE 2008 SPECIAL PROJECT CONTRIBUTORS''' &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Daniele Bellucci&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|OWASP Backend Security Project contributor &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|?&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|?&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Name&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |-&lt;br /&gt;
 ! colspan=&amp;quot;7&amp;quot; align=&amp;quot;left&amp;quot; style=&amp;quot;background:white; color:black&amp;quot;|&amp;lt;font color=&amp;quot;black&amp;quot;&amp;gt;'''OWASP SUMMER OF CODE 2008/LOGISTICS''' &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Sarah Cruz&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Project leader, Graphic Design &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|UK&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|London&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Name&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |-&lt;br /&gt;
 ! colspan=&amp;quot;7&amp;quot; align=&amp;quot;left&amp;quot; style=&amp;quot;background:white; color:black&amp;quot;|&amp;lt;font color=&amp;quot;black&amp;quot;&amp;gt;'''OWASP SPRING OF CODE 2007 PROJECT LEADERS &amp;amp; REVIEWERS''' &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Joshua Perrymon&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Project Leader, OWASP LiveCD, OWASP Phishing Framework, Alabama Chapter Lead&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|USA&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Birmingham,AL&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Brad Causey&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Project Reviewer, OWASP Phishing Framework, Alabama Chapter VP&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|USA&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Birmingham,AL&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 ! colspan=&amp;quot;7&amp;quot; align=&amp;quot;left&amp;quot; style=&amp;quot;background:white; color:black&amp;quot;|&amp;lt;font color=&amp;quot;black&amp;quot;&amp;gt;'''OWASP AUTUMN OF CODE 2006 PROJECT LEADERS &amp;amp; REVIEWERS''' &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Rogan Dawes &lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Project leader, WebScarab-NG &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|South Africa&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Johannesburg, South Africa&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Simon Roses Femerling&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Project leader, OWASP Pantera&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Spain&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|?&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Name&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 ! colspan=&amp;quot;7&amp;quot; align=&amp;quot;left&amp;quot; style=&amp;quot;background:white; color:black&amp;quot;|&amp;lt;font color=&amp;quot;black&amp;quot;&amp;gt;'''ACTIVE PROJECT LEADERS (NOT CURRENTLY PARTICIPATING ON SOC 08)''' &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Alex Smolen&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;| Project leader, .NET ESAPI &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|USA&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|?&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Name&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
 |- &lt;br /&gt;
 ! colspan=&amp;quot;7&amp;quot; align=&amp;quot;left&amp;quot; style=&amp;quot;background:white; color:black&amp;quot;|&amp;lt;font color=&amp;quot;black&amp;quot;&amp;gt;'''ACTIVE CHAPTER LEADERS (NOT CURRENTLY PARTICIPATING ON SOC 08)''' &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Steve Antoniewicz&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Chapter Board Member, NY/NJ Metro  &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|USA&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|?&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Kuai Hinojosa&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Chapter leader, Twin-Cities &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|USA&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Jim Manico&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Chapter leader/founder, Hawaii&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Hawaii, USA&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Anahola, Island of Kauai&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Rex Booth&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Chapter leader, Washington DC  &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|USA&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Washington DC&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Andrzej Targosz&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Chapter leader, Poland  &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Poland&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Cracow&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Dhruv Soi&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Chapter Board Member, New Delhi  &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|India&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|New Delhi, India&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Bedirhan Urgun&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Chapter Leader, Turkiye  &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Turkey&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Istanbul&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;| &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Name&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 ! colspan=&amp;quot;7&amp;quot; align=&amp;quot;left&amp;quot; style=&amp;quot;background:white; color:black&amp;quot;|&amp;lt;font color=&amp;quot;black&amp;quot;&amp;gt;'''SIGNIFICANT PAST OWASP CONTRIBUTOR (NOT ALREADY COVERED BY ONE OF THE ABOVE CATEGORIES)''' &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|David Rook&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Code Review Guide Contributor, Irish Chapter Contributor&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Ireland&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Dublin (DUB)&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 ! colspan=&amp;quot;7&amp;quot; align=&amp;quot;left&amp;quot; style=&amp;quot;background:white; color:black&amp;quot;|&amp;lt;font color=&amp;quot;black&amp;quot;&amp;gt;''''KEY INDUSTRY PLAYERS' INVITED TO THE WORKING SESSIONS (NOT ALREADY COVERED BY ONE OF THE ABOVE CATEGORIES)''' &lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|Colin Watson&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|OWASP Awards Contributor &lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|UK&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|London&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;width:20%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|?&lt;br /&gt;
 | style=&amp;quot;width:26%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:15%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 | style=&amp;quot;width:12%; background:#cccccc&amp;quot; align=&amp;quot;center&amp;quot;|&lt;br /&gt;
 |- &lt;br /&gt;
 |}&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=The_Owasp_Code_Review_Top_9&amp;diff=37322</id>
		<title>The Owasp Code Review Top 9</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=The_Owasp_Code_Review_Top_9&amp;diff=37322"/>
				<updated>2008-08-26T22:03:41Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OWASP Code Review Guide Table of Contents]]__TOC__&lt;br /&gt;
[[Category:OWASP Code Review Project]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Preface ==&lt;br /&gt;
In this section, we will try to organize the most critical security flaws you can find during a code review in order to have a finite set of categories to evaluate the whole code review process.&lt;br /&gt;
&lt;br /&gt;
''needs more details here''&lt;br /&gt;
&lt;br /&gt;
== The 9 flaw categories ==&lt;br /&gt;
In term of source code security, source code vulnerabilities can be managed in million of ways.&lt;br /&gt;
&lt;br /&gt;
Source code vulnerabilities must reflect Owasp Top 10 recommendations. Applications are made of source so, in some way source code flaws can be re conducted to flaws in application.&lt;br /&gt;
&lt;br /&gt;
The following seventh family will be included as default library in Owasp Orizon Project v1.0 that will be released in October 2008.&lt;br /&gt;
&lt;br /&gt;
''needs more details here''&lt;br /&gt;
&lt;br /&gt;
Here you can find the nine source code flaw categories:&lt;br /&gt;
&lt;br /&gt;
* Input validation&lt;br /&gt;
* Source code design&lt;br /&gt;
* Information leakage and improper error handling&lt;br /&gt;
* Direct object reference&lt;br /&gt;
* Resource usage&lt;br /&gt;
* API usage&lt;br /&gt;
* Best practices violation&lt;br /&gt;
* Weak Session Management&lt;br /&gt;
* Using HTTP GET query strings&lt;br /&gt;
&lt;br /&gt;
As you may see 3 categories out of 9 are equals to the correspondent Owasp Top 10 key point.&lt;br /&gt;
&lt;br /&gt;
Let's go more in detail going deeper in describing the source code flaw categories.&lt;br /&gt;
&lt;br /&gt;
=== Input validation ===&lt;br /&gt;
This flaw categories is the source code counterpart of the Owasp Top 10 A1 category.&lt;br /&gt;
&lt;br /&gt;
The check's families contained in this category are all the ones tied to the missing validation of input data submitted by user and that they will reflect in a Owasp Top 10 A1 violation.&lt;br /&gt;
&lt;br /&gt;
In this category the follow security flaw family are contained:&lt;br /&gt;
* Input validation&lt;br /&gt;
** Cross site scripting&lt;br /&gt;
** SQL Injection&lt;br /&gt;
** XPATH Injection&lt;br /&gt;
** LDAP Injection&lt;br /&gt;
** Cross site request forgery&lt;br /&gt;
** Buffer overflow&lt;br /&gt;
** Format bug&lt;br /&gt;
=== Source code design ===&lt;br /&gt;
Security in source code starts from design and from the choices made before starting coding using the editor you like most.&lt;br /&gt;
&lt;br /&gt;
In the source code design flaw categories, you can find security check families tied to scope and source code organization.&lt;br /&gt;
&lt;br /&gt;
* Source code design&lt;br /&gt;
** Insecure field scope&lt;br /&gt;
** Insecure method scope&lt;br /&gt;
** Insecure class modifiers&lt;br /&gt;
** Unused external references&lt;br /&gt;
** Redundant code&lt;br /&gt;
&lt;br /&gt;
=== Information leakage and improper error handling ===&lt;br /&gt;
This category meets the correspondent Owasp Top 10 one. It will contain security check families about how source code manage errors, exception, logging and sensitive information.&lt;br /&gt;
&lt;br /&gt;
The following families are present:&lt;br /&gt;
* Information leakage and improper error handling&lt;br /&gt;
** Unhandled exception&lt;br /&gt;
** Routine return value usage&lt;br /&gt;
** NULL Pointer dereference&lt;br /&gt;
** Insecure logging&lt;br /&gt;
&lt;br /&gt;
=== Direct object reference ===&lt;br /&gt;
Also this category is the same as the one stated in the Owasp Top 10 project.&lt;br /&gt;
It refers to the attacker's capability to interact with application internals supplying an ad hoc crafted parameter.&lt;br /&gt;
&lt;br /&gt;
The families contained in this category are:&lt;br /&gt;
* Direct object reference&lt;br /&gt;
** Direct reference to database data&lt;br /&gt;
** Direct reference to filesystem&lt;br /&gt;
** Direct reference to memory&lt;br /&gt;
&lt;br /&gt;
=== Resource usage ===&lt;br /&gt;
This category is related to all the unsafe ways a source code can request operating system managed resources. Most of the vulnerability families here contained, if exploited, will result in a some kind of denial of service.&lt;br /&gt;
&lt;br /&gt;
Resources can be:&lt;br /&gt;
* filesystem objects&lt;br /&gt;
* memory&lt;br /&gt;
* CPU&lt;br /&gt;
* network bandwidth&lt;br /&gt;
&lt;br /&gt;
Given such category, the families that can be included are:&lt;br /&gt;
* Resource usage &lt;br /&gt;
** Insecure file creation&lt;br /&gt;
** Insecure file modifying&lt;br /&gt;
** Insecure file deletion&lt;br /&gt;
** Race condition&lt;br /&gt;
** Memory leak&lt;br /&gt;
** Unsafe process creation&lt;br /&gt;
&lt;br /&gt;
=== API usage ===&lt;br /&gt;
This section is about APIs provided by the system or by the framework in use that can be used in a malicious way.&lt;br /&gt;
In this category you can find:&lt;br /&gt;
* insecure database calls&lt;br /&gt;
* insecure random number creation&lt;br /&gt;
* improper memory management calls&lt;br /&gt;
* insecure HTTP session handling&lt;br /&gt;
* insecure strings manipulation&lt;br /&gt;
&lt;br /&gt;
=== Best practices violation ===&lt;br /&gt;
The last category is about all miscellaneous security violation that doesn't fit in the previous ones.&lt;br /&gt;
Most, but not all, of these categories contain warning-only source code best practices.&lt;br /&gt;
&lt;br /&gt;
This category includes:&lt;br /&gt;
* insecure memory pointer usage&lt;br /&gt;
** NULL pointer dereference&lt;br /&gt;
** pointer arithmetic&lt;br /&gt;
** variable aliasing&lt;br /&gt;
* unsafe variable initialization&lt;br /&gt;
* missing comments and source code documentation&lt;br /&gt;
&lt;br /&gt;
=== Weak Session Management ===&lt;br /&gt;
&lt;br /&gt;
* Not invalidating session upon an error occurring&lt;br /&gt;
* Not checking for valid sessions upon HTTP request&lt;br /&gt;
&lt;br /&gt;
=== Using HTTP GET query strings ===&lt;br /&gt;
&lt;br /&gt;
* Passing sensitive data over URL /querystring&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Code_Auditor_Workbench_Tool&amp;diff=37321</id>
		<title>Code Auditor Workbench Tool</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Code_Auditor_Workbench_Tool&amp;diff=37321"/>
				<updated>2008-08-26T22:01:46Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Following this thread [http://lists.owasp.org/pipermail/owasp-testing/2007-January/001324.html Code Review project and Code-Scanning-Tool(s)] here are some ideas of what such tool could do:&lt;br /&gt;
&lt;br /&gt;
My conjecture is that static analysis only goes so-far in terms of&lt;br /&gt;
helping in a audit. It's nice, it's flashy, it's expensive, SPI, Fortify&lt;br /&gt;
and the like are spending millions investing in the technology, it looks&lt;br /&gt;
good to managers (I just bought a 60k security tool for my coders, I'm a&lt;br /&gt;
cool manager it's all secure now!) - but it's not  the static analysis&lt;br /&gt;
portion of a review that will help me secure a system. (Sure, it helps&lt;br /&gt;
me find low hanging fruit, but not the real interesting stuff).&lt;br /&gt;
&lt;br /&gt;
Please tell me what static code review tool will bark at me if I forget&lt;br /&gt;
to add my custom authentication function or functions (which is most&lt;br /&gt;
common) at the top of each JSP? Not many do stuff like that well.&lt;br /&gt;
&lt;br /&gt;
Also, most Java code audits that I am a part of is done by a team of 2&lt;br /&gt;
of more coders. (In fact, I say never do at a code review alone! Bring&lt;br /&gt;
your friends!)&lt;br /&gt;
&lt;br /&gt;
So my vision is having some kind of web 2.0-like mashup:&lt;br /&gt;
# integrated IM&lt;br /&gt;
# integrated commenting system&lt;br /&gt;
# code demarcation/labeling tool&lt;br /&gt;
# a built in programmable checklist (like, this JSP needs to be &amp;quot;checked&amp;quot; for manual review of input validation, authentication, access control, or my applet checklist would be (no business logic, no protected information, etc) - the checklist changes depending on what I'm auditing. Cost limitations almost always necessitate I limit scope of my audit.&lt;br /&gt;
# integrated documentation features so I can build my audit documentation &amp;quot;on the fly&amp;quot; during the audit process within the workbench in a Wiki-fashion so the whole team could work on the doc together at the same time. (For example, this feature would automatically create shell documentation every time I label code as a &amp;quot;critical&amp;quot; problem.&lt;br /&gt;
# It would be nice if this workbench could import reports from those static analyzers (but they have a history of not playing well with the other tools)&lt;br /&gt;
# Lately I've been asked to create system documentation during the audit process (can you believe that some very large systems that I audit have no system documentation? oh my! shocking!) so perhaps enhanced technical documentation functionality would help.&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Tool_Deployment_Model&amp;diff=37320</id>
		<title>Tool Deployment Model</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Tool_Deployment_Model&amp;diff=37320"/>
				<updated>2008-08-26T22:00:27Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Deploying code review tools to developers helps the throughput of a code review team by helping to identify and hopefully remove most of the common and simple coding mistakes prior to a security consultant viewing the code.&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
This methodology improves developer knowledge and also the security consultant can spend time looking for more abstract vulnerabilities.&lt;br /&gt;
[[Category:OWASP Code Review Project]]&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Education_and_cultural_change&amp;diff=37319</id>
		<title>Education and cultural change</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Education_and_cultural_change&amp;diff=37319"/>
				<updated>2008-08-26T21:59:52Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Educating developers to write secure code is the paramount goal of a secure code review. Taking code review from this standpoint is the only way to promote and improve code quality. Part of the education process is to empower developers with the knowledge in order to write better code. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This can be done by providing developers with a controlled set of rules which the developer can compare their code to. Automated tools provide this functionality and also help reducing the overhead from a time perspective. A developer can check his/her code using a tool without much initial knowledge of the security concerns pertaining to their task at hand. Also running a tool to assess the code if a fairly painless task once the developer becomes familiar with the tool(s).&lt;br /&gt;
[[Category:OWASP Code Review Project]]&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Automated_Code_Review&amp;diff=37318</id>
		<title>Automated Code Review</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Automated_Code_Review&amp;diff=37318"/>
				<updated>2008-08-26T21:58:02Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: Review&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OWASP Code Review Guide Table of Contents]]__TOC__&lt;br /&gt;
&lt;br /&gt;
==Preface==&lt;br /&gt;
&lt;br /&gt;
While manual code reviews can find security flaws in code, they suffer from two problems.  Manual code reviews are slow, covering 100-200 lines per hour on average.  Also, there are hundreds of security flaws to look for in code, while humans can only keep about seven items in memory at once.  Source code analysis tools can search a program for hundreds of different security flaws at once at a rate far greater than any human can review code.  However, these tools don't eliminate the need for a human reviewer, as they produce both false positive and false negative results.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Reasons for using automated tools:''' ==&lt;br /&gt;
&lt;br /&gt;
In large scale code review operations for enterprises such that the volume of code is enormous automated code review techniques can assist in improving the throughput of the code review process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Education and cultural change:''' ==&lt;br /&gt;
&lt;br /&gt;
Educating developers to write secure code is the paramount goal of a secure code review. Taking code review from this standpoint is the only way to promote and improve code quality. Part of the education process is to empower developers with the knowledge in order to write better code. &lt;br /&gt;
&lt;br /&gt;
This can be done by providing developers with a controlled set of rules which the developer can compare their code to. Automated tools provide this functionality and also help reducing the overhead from a time perspective. A developer can check his/her code using a tool without much initial knowledge of the security concerns pertaining to their task at hand.&lt;br /&gt;
Also running a tool to assess the code is a fairly painless task once the developer becomes familiar with the tool(s).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Tool Deployment model:''' ==&lt;br /&gt;
&lt;br /&gt;
Deploying code review tools to developers helps the throughput of a code review team by helping to identify and hopefully remove most of the common and simple coding mistakes prior to a security consultant viewing the code.&lt;br /&gt;
&lt;br /&gt;
This methodology improves developer knowledge and also the security consultant can spend time looking for more abstract vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Code Review Project]]&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Shared_Objects&amp;diff=37317</id>
		<title>Shared Objects</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Shared_Objects&amp;diff=37317"/>
				<updated>2008-08-26T21:50:50Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: Review&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OWASP Code Review Guide Table of Contents]]__TOC__&lt;br /&gt;
&lt;br /&gt;
Shared Objects are designed to store up to 100kb of data relating to a users session.&lt;br /&gt;
They are dependent on host and domain name and SWF movie name.&lt;br /&gt;
&lt;br /&gt;
They are stored in binary format and are not cross-domain by default.&lt;br /&gt;
Shared objects are not automatically transmitted to the server unless requested by the application.&lt;br /&gt;
&lt;br /&gt;
It is worth noting that they are also stored outside the web browser cache:&lt;br /&gt;
&lt;br /&gt;
 C:\Documents and Settings\&amp;lt;USER&amp;gt;\Application Data\Macromedia\Flash Player\#Shared Objects\&amp;lt;randomstring&amp;gt;\&amp;lt;domain&amp;gt;&lt;br /&gt;
In the case of cleaning the browser cache Flash sharedobjects survive such an action.&lt;br /&gt;
&lt;br /&gt;
Shared objects are handled by the Flash application and not the clients' web browser.&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=SandBox_Security_Model&amp;diff=37316</id>
		<title>SandBox Security Model</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=SandBox_Security_Model&amp;diff=37316"/>
				<updated>2008-08-26T21:49:52Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: Review&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OWASP Code Review Guide Table of Contents]]__TOC__&lt;br /&gt;
&lt;br /&gt;
'''Flash player assigns SWF files to sandboxes based on their origin'''&lt;br /&gt;
&lt;br /&gt;
'''Internet SWF files sandboxed based on origin domains'''&lt;br /&gt;
'''Domain:'''&lt;br /&gt;
- Any two SWF files can interact together within the same sandbox. &lt;br /&gt;
- Explicit permission is required to interact with objects in other sandboxes.&lt;br /&gt;
&lt;br /&gt;
'''Local'''&lt;br /&gt;
&lt;br /&gt;
'''local-with-filesystem (default)'''&lt;br /&gt;
- The file system can read from local files only&lt;br /&gt;
&lt;br /&gt;
'''local-with-networking'''&lt;br /&gt;
- Interact with other local-with-networking SWF files&lt;br /&gt;
&lt;br /&gt;
'''local-trusted'''&lt;br /&gt;
- Can read from Local files, communicate to any server and access any SWF file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
“The sandbox defines a limited space in which a Macromedia Flash movie&lt;br /&gt;
running within the Macromedia Flash Player is allowed to operate. Its primary&lt;br /&gt;
purpose is to ensure the integrity and security of the client’s machine, and as&lt;br /&gt;
well as security of any Macromedia Flash movies running in the player.”&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cross Domain Permissions:&lt;br /&gt;
A Macromedia Flash movie playing on a web browser is not allowed access that is outside the exact domain from which is originated.&lt;br /&gt;
This is defined in the cross-domain policy file crossdomain.xml.&lt;br /&gt;
Policy files are used by Flash to permit Flash to load data from servers other than its native domain.&lt;br /&gt;
If a SWF file wishes to communicate with remote servers it must be granted explicit permission:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;cross-domain-policy&amp;gt; &lt;br /&gt;
     &amp;lt;allow-access-from domain=&amp;quot;example.domain.com&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/cross-domain-policy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The API call System.security.loadPolicyFile(url) loads a cross domain policy from a specified URL which may be different from the crossdomain.xml file&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Accessing JavaScript:'''&lt;br /&gt;
&lt;br /&gt;
A parameter called allowScriptAccess governs if the Flash object has access to external scripts&lt;br /&gt;
It can have three possible values: '''never, same domain, always'''&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;object id=&amp;quot;flash007&amp;quot;&amp;gt; &lt;br /&gt;
    &amp;lt;param name=movie value=&amp;quot;bigmovie.swf&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;embed AllowScriptAccess=&amp;quot;'''always'''&amp;quot; name='flash007' src=&amp;quot;bigmovie.swf&amp;quot;  type=&amp;quot;application/x-shockwave-flash&amp;quot;&amp;gt; &lt;br /&gt;
   &amp;lt;/embed&amp;gt;&lt;br /&gt;
  &amp;lt;/object&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Reviewing_MySQL_Security&amp;diff=37315</id>
		<title>Reviewing MySQL Security</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Reviewing_MySQL_Security&amp;diff=37315"/>
				<updated>2008-08-26T21:48:04Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: Review&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OWASP Code Review Guide Table of Contents]]__TOC__&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
As part of the code review you may need to step outside the code review box to assess the security of a database such as MySQL.&lt;br /&gt;
The following covers areas which could be looked at:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privileges===&lt;br /&gt;
'''Grant_priv''': Allows users to grant privileges to other users. This should be appropriately restricted to the DBA and Data (Table) owners.&lt;br /&gt;
 &lt;br /&gt;
 Select * from user &lt;br /&gt;
 where Grant_priv = 'Y'; &lt;br /&gt;
 &lt;br /&gt;
 Select * from db &lt;br /&gt;
 where Grant_priv = 'Y';&lt;br /&gt;
 &lt;br /&gt;
 Select * from host &lt;br /&gt;
 where Grant_priv = 'Y';&lt;br /&gt;
 &lt;br /&gt;
 Select * from tables_priv&lt;br /&gt;
 where Table_priv = 'Grant';&lt;br /&gt;
&lt;br /&gt;
'''Alter_priv''':Determine who has access to make changes to the database structure (alter privilege) at a global, database and table.&lt;br /&gt;
&lt;br /&gt;
 Select * from user &lt;br /&gt;
 where Alter_priv = 'Y';&lt;br /&gt;
 &lt;br /&gt;
 Select * from db &lt;br /&gt;
 where Alter _priv = 'Y';&lt;br /&gt;
 &lt;br /&gt;
 Select * from host&lt;br /&gt;
 where Alter_priv = 'Y';&lt;br /&gt;
 &lt;br /&gt;
 Select * from tables_priv&lt;br /&gt;
 where Table_priv = 'Alter';&lt;br /&gt;
&lt;br /&gt;
====mysqld configuration file====&lt;br /&gt;
&lt;br /&gt;
Check for the following:&lt;br /&gt;
&lt;br /&gt;
 a)skip-grant-tables&lt;br /&gt;
 b)safe-show-database&lt;br /&gt;
 c)safe-user-create&lt;br /&gt;
&lt;br /&gt;
'''a)'''This option causes the server not to use the privilege system at all. All users have full access to all tables&lt;br /&gt;
'''b)'''When the '''SHOW DATABASES''' command is executed it returns only those databases for which the user has some kind of privilege. Default since MySQL v4.0.2.&lt;br /&gt;
'''c)'''With this enabled a user can't create new users with the GRANT command as long as the user does not have the '''INSERT''' privilege for the '''mysql.user table'''.&lt;br /&gt;
&lt;br /&gt;
====User privileges====&lt;br /&gt;
Here we can check which users have access to perform potentially malicious actions on the database. &amp;quot;Least privilege&amp;quot; is the key point here:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Select * from user where &lt;br /&gt;
 Select_priv  = 'Y' or Insert_priv  = 'Y'&lt;br /&gt;
 or Update_priv = 'Y' or Delete_priv  = 'Y'&lt;br /&gt;
 or Create_priv = 'Y' or Drop_priv    = 'Y'&lt;br /&gt;
 or Reload_priv = 'Y' or Shutdown_priv = 'Y'&lt;br /&gt;
 or Process_priv = 'Y' or File_priv    = 'Y'&lt;br /&gt;
 or Grant_priv   = 'Y' or References_priv = ‘Y'&lt;br /&gt;
 or Index_priv = 'Y' or Alter_priv = 'Y';&lt;br /&gt;
&lt;br /&gt;
 Select * from host &lt;br /&gt;
 where Select_priv  = 'Y' or Insert_priv  = 'Y'&lt;br /&gt;
 or Create_priv = 'Y' or Drop_priv    = 'Y'&lt;br /&gt;
 or Index_priv = 'Y' or Alter_priv = 'Y'; &lt;br /&gt;
 or Grant_priv   = 'Y' or References_priv = ‘Y'&lt;br /&gt;
 or Update_priv = 'Y' or Delete_priv  = 'Y'&lt;br /&gt;
&lt;br /&gt;
 Select * from db &lt;br /&gt;
 where Select_priv  = 'Y' or Insert_priv  = 'Y'&lt;br /&gt;
 or Grant_priv   = 'Y' or References_priv = ‘Y'&lt;br /&gt;
 or Update_priv = 'Y' or Delete_priv  = 'Y'&lt;br /&gt;
 or Create_priv = 'Y' or Drop_priv    = 'Y'&lt;br /&gt;
 or Index_priv = 'Y' or Alter_priv = 'Y';&lt;br /&gt;
&lt;br /&gt;
===Default MySQL accounts===&lt;br /&gt;
The default account in MySQl is &amp;quot;root&amp;quot;/&amp;quot;root@localhost&amp;quot; with a blank password. We can check if the root account exists by:&lt;br /&gt;
&lt;br /&gt;
 SELECT User, Host &lt;br /&gt;
 FROM user&lt;br /&gt;
 WHERE User = 'root';&lt;br /&gt;
&lt;br /&gt;
===Remote Access===&lt;br /&gt;
MySQL by default listens on port 3306. If the app server is on localhost also we can disable this port by adding&lt;br /&gt;
'''skip-networking''' to the [mysqld] in the my.cnf file.&lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Code Review Project]]&lt;br /&gt;
[[Category:MySQL security]]&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Strings_and_Integers&amp;diff=37314</id>
		<title>Strings and Integers</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Strings_and_Integers&amp;diff=37314"/>
				<updated>2008-08-26T21:46:45Z</updated>
		
		<summary type="html">&lt;p&gt;Rahimjina: Review&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction:==&lt;br /&gt;
&lt;br /&gt;
Strings are not a defined Type in C or C++ but simply a contiguous array of characters terminated by a null (\0) character&lt;br /&gt;
The length of the string is the amount of characters which precede the null character.&lt;br /&gt;
C++ does contain template classes which address this feature of the programming language: '''std::basic_string''' and '''std::string''' These classes address some security issues but not all.&lt;br /&gt;
&lt;br /&gt;
 '''|W|E|L|C|O|M|E|\0|'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Common String Errors==&lt;br /&gt;
Common string errors can be related to mistakes in implementation which may cause drastic security and availability issues.&lt;br /&gt;
C/C++ do not have the comfort other programming languages provide such as Java and C# .NET relating to buffer overflows and such due to a String Type not being defined.&lt;br /&gt;
&lt;br /&gt;
Common issues include:&lt;br /&gt;
#Input validation errors&lt;br /&gt;
#Unbounded Errors&lt;br /&gt;
#Truncation issues&lt;br /&gt;
#Out-of-bounds writes&lt;br /&gt;
#String Termination Errors&lt;br /&gt;
#Off-by-one errors`&lt;br /&gt;
&lt;br /&gt;
Some of the issues mentioned above have been covered in the &amp;quot;Reviewing Code for Buffer Overruns and Overflows&amp;quot; section previously in this guide.&lt;br /&gt;
&lt;br /&gt;
===Unbounded Errors===&lt;br /&gt;
====String Copies====&lt;br /&gt;
&lt;br /&gt;
Occur when data is copied from a unbounded source to a fixed length character array&lt;br /&gt;
&lt;br /&gt;
 void main(void) {&lt;br /&gt;
  char Name[10];&lt;br /&gt;
  puts(&amp;quot;Enter your name:&amp;quot;);&lt;br /&gt;
  gets(Name); &amp;lt;-- Here the name input by the user can be of arbitrary length over running the Name array.&lt;br /&gt;
 ...&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
====String Termination Errors====&lt;br /&gt;
Failure to properly terminate strings with a null can result in system failure&lt;br /&gt;
&lt;br /&gt;
 int main(int argc, char* argv[]) {&lt;br /&gt;
  char a[16];&lt;br /&gt;
  char b[16];&lt;br /&gt;
  char c[32];&lt;br /&gt;
  strncpy(a, &amp;quot;0123456789abcdef&amp;quot;, sizeof(a));&lt;br /&gt;
  strncpy(b, &amp;quot;0123456789abcdef&amp;quot;, sizeof(b));&lt;br /&gt;
  strncpy(c, a, sizeof(c));&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It is recommended that it should be verified that the following is used:&lt;br /&gt;
 strncpy() instead of strcpy()&lt;br /&gt;
 snprintf() instead of sprintf()&lt;br /&gt;
 fgets() instead of gets()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Off by one error====&lt;br /&gt;
(Looping through arrays should be looped in a n-1 manner as we must remember arrays and vectors start as 0. This is not specific to C/C++ but Java and C# also.)&lt;br /&gt;
&lt;br /&gt;
Off-by-one errors are common to looping functionality wherein a looping functionality is performed on an object in order to manipulate the contents of an object such as copy or add information.&lt;br /&gt;
The off-by-one error is a result of an error on the loop counting functionality.&lt;br /&gt;
&lt;br /&gt;
 for (i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
    /* Do Stuff */&lt;br /&gt;
 }&lt;br /&gt;
Here i starts with a value of 0, it then increments to 1, then 2,3 &amp;amp; 4. When i reaches 5 then the condition i&amp;lt;5 is false and the loop terminates.&lt;br /&gt;
&lt;br /&gt;
If the condition was set such that i&amp;lt;=5 (less than or equal to 5) the loop wont terminate until i reaches 6 which may not be what is intended.&lt;br /&gt;
&lt;br /&gt;
Also counting from 1 instead of 0 can cause similar issues as there would be one less iterations. Both of these issues relate to a off-by-one error where the loop either under or over counts.&lt;br /&gt;
&lt;br /&gt;
===Issues with Integers===&lt;br /&gt;
====Integer Overflows====&lt;br /&gt;
When an integer is increased beyond its maximum range or decreased below its minimum value overflows occur.&lt;br /&gt;
Overflows can be signed or unsigned. Signed when the overflow carries over to the sign bit unsigned when the value being intended to be represented in no longer represented correctly.&lt;br /&gt;
&lt;br /&gt;
 int x;&lt;br /&gt;
 x = INT_MAX; // 2,147,483,647&lt;br /&gt;
 x++;&lt;br /&gt;
 ''Here x would have the value of -2,147,483,648 after the increment''&lt;br /&gt;
&lt;br /&gt;
It is important when reviewing the code that some measure should be implemented such that the overflow does not occur. This is not the same as relying on the value &amp;quot;never going to reach this value (2,147,483,647)&amp;quot;.&lt;br /&gt;
This may be done by some supporting logic or a post increment check.&lt;br /&gt;
&lt;br /&gt;
 unsigned int y;&lt;br /&gt;
 y = UINT_MAX; // 4,294,967,295;&lt;br /&gt;
 y++;&lt;br /&gt;
 ''Here y would have a value of 0 after the increment''&lt;br /&gt;
&lt;br /&gt;
Also here we can see the result of an unsigned int being incremented which loops the integer back to the value 0&lt;br /&gt;
As before this should also be examined to see if there are any compensating controls to prevent this from happening.&lt;br /&gt;
&lt;br /&gt;
====Integer conversion====&lt;br /&gt;
When converting from a signed to an unsigned integer care must also be taken to prevent a representation error.&lt;br /&gt;
&lt;br /&gt;
 int x = -3;&lt;br /&gt;
 unsigned short y;&lt;br /&gt;
 y = x;&lt;br /&gt;
 ''Here y would have the value of 65533 due to the loopback effect of the conversion from signed to unsigned.''&lt;/div&gt;</summary>
		<author><name>Rahimjina</name></author>	</entry>

	</feed>