<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Web Admin Blog &#187; assessment</title>
	<atom:link href="http://www.webadminblog.com/index.php/tag/assessment/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.webadminblog.com</link>
	<description>Real Web Admins.  Real World Experience.</description>
	<lastBuildDate>Thu, 22 Jul 2010 16:18:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Building an In-House Application Security Assessment Team</title>
		<link>http://www.webadminblog.com/index.php/2009/11/13/building-an-in-house-application-security-assessment-team/</link>
		<comments>http://www.webadminblog.com/index.php/2009/11/13/building-an-in-house-application-security-assessment-team/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 19:05:04 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[OWASP AppSec DC 2009]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[assessment]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[contractor]]></category>
		<category><![CDATA[in-house]]></category>
		<category><![CDATA[team]]></category>

		<guid isPermaLink="false">http://www.webadminblog.com/?p=340</guid>
		<description><![CDATA[This presentation was by Keith Turpin from The Boeing Company.   About three years ago, all of Boeing's assessments were coming from outsourced service providers.  They realized that they were unable to have control over the people and process and had difficulties integrating the controls into the SDLC and decided to bring these functions in house.  [...]]]></description>
			<content:encoded><![CDATA[<p>This presentation was by Keith Turpin from The Boeing Company.   About three years ago, all of Boeing's assessments were coming from outsourced service providers.  They realized that they were unable to have control over the people and process and had difficulties integrating the controls into the SDLC and decided to bring these functions in house.  The goal of this presentation is to show some of the issues they ran into and how they addressed those problems.  My notes from the presentation are below:</p>
<p><span style="text-decoration: underline;"><strong>Contraced Services Considerations</strong></span></p>
<ul>
<li>Some Advantages:
<ul>
<li>Highly skilled</li>
<li>Established tools, processes, and standards</li>
<li>Unbiased</li>
<li>Available as needed</li>
</ul>
</li>
<li>Some Disadvantages:
<ul>
<li>Expensive, especially for an extended engagement</li>
<li>Less control and flexibility</li>
<li>Not familiar with company processes and culture</li>
<li>Rotating staff</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Planning</strong></span></p>
<ul>
<li>Considerations for establishing an internal team:
<ul>
<li>Time to staff and train the team</li>
<li>Overlap of external and internal teams</li>
<li>Development of processes and standards</li>
<li>Acquiring necessary tools</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Service Model</strong></span></p>
<ul>
<li>Define the services your team will provide.  This will be greatly influenced by:
<ul>
<li>The team's size and skills</li>
<li>The number of applications you have to support</li>
<li>The tools available</li>
<li>The level of executive support</li>
<li>The funding model
<ul>
<li>Who pays for your services</li>
</ul>
</li>
<li>The team's role
<ul>
<li>Development support, pre-deployment testing or post deployment auditing and pen testing</li>
</ul>
</li>
</ul>
</li>
</ul>
<p><span id="more-340"></span></p>
<p><span style="text-decoration: underline;"><strong>Staffing the Team</strong></span></p>
<ul>
<li>Decide how to staff your team and what skills you need.  Possible candidates include:
<ul>
<li>Experienced Application Testers
<ul>
<li>This is ideal from a skills standpoint, but people in this category may be harder to find, cost more, may not be familiar with your company and or fit its culture.</li>
</ul>
</li>
<li>Experienced Developers
<ul>
<li>Developers will have a good understanding of the technologies, but may not understand security principles.  Their focus is on what an application is intended to do, not what it can be made to do.</li>
</ul>
</li>
<li>Other IT Security Professionals
<ul>
<li>They have a good understanding of security principles, but may lack specific technical skills.  However, some skills may provide a useful overlap, like experienced OS or network testers.</li>
</ul>
</li>
<li>Service and Project Managers
<ul>
<li>Building a new team, defining processes and standards, managing work flow and handling customer relations requires a set of skills as important, but distinct, from technical testing skills.</li>
</ul>
</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Selecting Tools</strong></span></p>
<ul>
<li>There are a lot of options when it comes to tools.  What you choose depends on the services you want to provide, your team's skills and your budget.
<ul>
<li>Commercial vs. Free or Low Cost Tools
<ul>
<li>Commercial tools scale to support enterprise use, utilize a higher degree of automation and come with product support.  They also come with a big price tag.</li>
<li>Open source and low cost tools allow for more customization, and are free or inexpensive, usually have a supportive user community, but often require a higher degree of user knowledge and skill.</li>
</ul>
</li>
<li>Types of Tools
<ul>
<li>Vulnerability Scanners
<ul>
<li>Commercial examples include IBM AppScan, HP WebInspect and Cenzic Hailstorm</li>
</ul>
</li>
<li>Source Code Analysis
<ul>
<li>There are commercial options like Fortify or open source tools like the OWASP Yasca Project</li>
</ul>
</li>
<li>Client Side Web Proxies
<ul>
<li>Options include WebScarab, Burp Suite and Charles Proxy</li>
</ul>
</li>
<li>Other Tools
<ul>
<li>These include password crackers, hex editors, text extractors, browser plug-ins, integrated development environments, network mapping, network traffic analysis, and exploitation tools</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>What to Assess</strong></span></p>
<ul>
<li>Measuring an application's risk:
<ul>
<li>The Types of Users
<ul>
<li>Privileged Users, employees, suppliers, customers or the general public</li>
</ul>
</li>
<li>The Sensitivity of the Data
<ul>
<li>Intellectual Property, PII or other regulatory requirements</li>
</ul>
</li>
<li>Availability and Integrity Requirements
<ul>
<li>The impact to the business if compromised</li>
</ul>
</li>
<li>Technology and Environmental Consideration
<ul>
<li>What technologies are used, where is it deployed,...</li>
</ul>
</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Gather Necessary Information</strong></span></p>
<ul>
<li>Before starting an assessment you will need to gather important information:
<ul>
<li>Application contacts</li>
<li>Server contacts</li>
<li>The process for getting accounts</li>
<li>A description of what the application does</li>
<li>The description or diagram of the system architecture</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Assessment Planning Meeting</strong></span></p>
<ul>
<li>Meet with the application development and support teams:
<ul>
<li>Get a demonstration of the application</li>
<li>Review the information gathered to support the assessment</li>
<li>Discuss the testing process and ground rules
<ul>
<li>No changes to the code during testing</li>
<li>Backups of the application servers and databases</li>
<li>How to address system crashes during testing</li>
<li>Database corruption issues</li>
<li>Emails generated by the application</li>
</ul>
</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Testing Notifications</strong></span></p>
<ul>
<li>You should have a process to notify affected parties before the actual testing begins.
<ul>
<li>Key system contacts</li>
<li>Intrusion detection teams</li>
<li>Other assessors</li>
</ul>
</li>
<li>Information to include in the notification:
<ul>
<li>Source IP addresses</li>
<li>Target IP addresses, URL, system name</li>
<li>Testing schedule</li>
<li>Assessment team contacts</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Conducting the Assessment</strong></span></p>
<ul>
<li>If you are using automated scanning tools, beware of false positives and negatives
<ul>
<li>Pattern recognition has limitations</li>
<li>Combine various testing methods
<ul>
<li>Automated scanning</li>
<li>Code review</li>
<li>Manual testing</li>
</ul>
</li>
<li>Learn what your tools do and do not do well</li>
<li>Validate every finding</li>
<li>Keep detailed notes</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Establish Standards</strong></span></p>
<ul>
<li>Assessments performed by two different people or the same person over time, may result in the same finding being presented very differently
<ul>
<li>This may result in inconsistent descriptions of the vulnerability or different recommendations for remediation</li>
<li>Without standard findings you may also find it difficult to produce meaningful metrics about discovered vulnerabilities</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Standard Findings</strong></span></p>
<ul>
<li>Opinions about how to standardize software vulnerabilities are like noses, everyone has one.</li>
<li>At Boeing we have categorized vulnerabilities into approximately 70 standard findings like:
<ul>
<li>SQL Injection</li>
<li>Path Traversal</li>
<li>Session Fixation</li>
<li>Excessive Authentication Attempts</li>
<li>Forced Browsing</li>
<li>System information Leakage</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Data Elements for Standard Findings</strong></span></p>
<ul>
<li>Each finding is made up of the following data elements:
<ul>
<li>Name</li>
<li>Control Classification</li>
<li>Severity (Likelihood + Impact)</li>
<li>Company Policy References</li>
<li>Industry References</li>
<li>Summary Description (one sentence)</li>
<li>Impact Statement (one sentence)</li>
<li>Detailed Description (basic introduction to vulnerability + detailed description of how it manifests within their application)</li>
<li>Recommendation (standard remediation recommendations tied into SDLC practices)</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Control Classifications</strong></span></p>
<ul>
<li>We group individual vulnerabilities into control classifications.  This helps us determine how effective we are at implementing control types.</li>
<li>Our classifications:
<ul>
<li>Input and output controls</li>
<li>Authentication and password management</li>
<li>Authorization and access management</li>
<li>Sensitive information storage or transmission</li>
<li>System configuration and management</li>
<li>General coding errors</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Reporting Findings</strong></span></p>
<ul>
<li>Developing a standardized reporting template will allow you to deliver a consistent, branded message
<ul>
<li>Cover Page
<ul>
<li>Provides information necessary to identify the assessment, what was assessed and who the key people were</li>
</ul>
</li>
<li>Executive Summary</li>
<li>Findings Summary</li>
<li>Detailed Findings</li>
<li>Conclusion
<ul>
<li>Summary of assessment results, discussion of next steps and links to additional resources</li>
</ul>
</li>
<li>Appendixes
<ul>
<li>Information on how severity ratings are determined, description of control classifications</li>
</ul>
</li>
<li>Attachments
<ul>
<li>Typically raw scan files</li>
</ul>
</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Managing Corrective Actions</strong></span></p>
<ul>
<li>Once a report is issued you need a closed loop process to ensure serious issues are addressed.  Considerations include:
<ul>
<li>Tracking Findings:
<ul>
<li>Critical and high findings should be tracked to resolution</li>
<li>Medium findings are less straight forward</li>
<li>Low or informational findings may not be value added</li>
</ul>
</li>
<li>Customer Responses to Findings:
<ul>
<li>Implement a technical fix to address the finding</li>
<li>Implement a process fix to address the finding</li>
<li>The business formally accepts the risk of not remediating</li>
</ul>
</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>When to Re-Evaluate an Application</strong></span></p>
<ul>
<li>Depending on the number of applications you support and the frequency with which they change you may need to establish re-evaluation guidelines.  Soem criteria to consider include:
<ul>
<li>Fixes to previously accepted risk</li>
<li>User population changes</li>
<li>Data sensitivity changes</li>
<li>Business's dependency on the application has increased</li>
<li>Authentication mechanism has changed</li>
<li>Authorization mechanism has changed</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Application Assessment Process Flow Version</strong></span></p>
<ul>
<li>Create a document that shows the process flow for both requested and targeted assessment (ask for document from presenter?)</li>
<li>Formal closure process</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Conclusion</strong></span></p>
<ul>
<li>Building an assessment team from the ground up takes:
<ul>
<li>Executive Support</li>
<li>A lot of planning</li>
<li>Staffing</li>
<li>The right tools</li>
<li>Training</li>
<li>Standards</li>
<li>Supporting Processes</li>
</ul>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.webadminblog.com/index.php/2009/11/13/building-an-in-house-application-security-assessment-team/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Assessing Your Web App Manually Without Hacking It</title>
		<link>http://www.webadminblog.com/index.php/2009/03/23/assessing-your-web-app-manually-without-hacking-it/</link>
		<comments>http://www.webadminblog.com/index.php/2009/03/23/assessing-your-web-app-manually-without-hacking-it/#comments</comments>
		<pubDate>Mon, 23 Mar 2009 21:00:50 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[TRISC 2009]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[assessment]]></category>
		<category><![CDATA[manual]]></category>
		<category><![CDATA[penetration]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.webadminblog.com/?p=206</guid>
		<description><![CDATA[After giving my presentation on "Using Proxies to Secure Applications and More" at the TRISC 2009 conference, I decided to attend the presentation by Robert "RSnake" Hansen and Rob MacDougal entitled "Assessing Your Web App Manually Without Hacking It".  The gist of this presentation was that with a few simple tools (Web Developer Toolbar, NoScript, [...]]]></description>
			<content:encoded><![CDATA[<p>After giving my presentation on "Using Proxies to Secure Applications and More" at the TRISC 2009 conference, I decided to attend the presentation by Robert "RSnake" Hansen and Rob MacDougal entitled "Assessing Your Web App Manually Without Hacking It".  The gist of this presentation was that with a few simple tools (Web Developer Toolbar, NoScript, you web browser) you can spend about an hour looking at the characteristics of a web application in order to determine what types and how many vulnerabilities it may have.  My notes on the presentation are below:</p>
<p><span id="more-206"></span><!--[if gte mso 9]><xml> <w :WordDocument> </w><w :View>Normal</w> <w :Zoom>0</w> <w :TrackMoves /> <w :TrackFormatting /> <w :PunctuationKerning /> <w :ValidateAgainstSchemas /> <w :SaveIfXMLInvalid>false</w> <w :IgnoreMixedContent>false</w> <w :AlwaysShowPlaceholderText>false</w> <w :DoNotPromoteQF /> <w :LidThemeOther>EN-US</w> <w :LidThemeAsian>X-NONE</w> <w :LidThemeComplexScript>X-NONE</w> <w :Compatibility> <w :BreakWrappedTables /> <w :SnapToGridInCell /> <w :WrapTextWithPunct /> <w :UseAsianBreakRules /> <w :DontGrowAutofit /> <w :SplitPgBreakAndParaMark /> <w :DontVertAlignCellWithSp /> <w :DontBreakConstrainedForcedTables /> <w :DontVertAlignInTxbx /> <w :Word11KerningPairs /> <w :CachedColBalance /> </w> <m :mathPr> <m :mathFont m:val="Cambria Math" /> <m :brkBin m:val="before" /> <m :brkBinSub m:val="&#45;-" /> <m :smallFrac m:val="off" /> <m :dispDef /> <m :lMargin m:val="0" /> <m :rMargin m:val="0" /> <m :defJc m:val="centerGroup" /> <m :wrapIndent m:val="1440" /> <m :intLim m:val="subSup" /> <m :naryLim m:val="undOvr" /> </m> </xml>< ![endif]--><!--[if gte mso 9]><xml> <w :LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"   DefSemiHidden="true" DefQFormat="false" DefPriority="99"   LatentStyleCount="267"> <w :LsdException Locked="false" Priority="0" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Normal" /> <w :LsdException Locked="false" Priority="9" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="heading 1" /> <w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2" /> <w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3" /> <w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4" /> <w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5" /> <w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6" /> <w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7" /> <w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8" /> <w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9" /> <w :LsdException Locked="false" Priority="39" Name="toc 1" /> <w :LsdException Locked="false" Priority="39" Name="toc 2" /> <w :LsdException Locked="false" Priority="39" Name="toc 3" /> <w :LsdException Locked="false" Priority="39" Name="toc 4" /> <w :LsdException Locked="false" Priority="39" Name="toc 5" /> <w :LsdException Locked="false" Priority="39" Name="toc 6" /> <w :LsdException Locked="false" Priority="39" Name="toc 7" /> <w :LsdException Locked="false" Priority="39" Name="toc 8" /> <w :LsdException Locked="false" Priority="39" Name="toc 9" /> <w :LsdException Locked="false" Priority="35" QFormat="true" Name="caption" /> <w :LsdException Locked="false" Priority="10" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Title" /> <w :LsdException Locked="false" Priority="1" Name="Default Paragraph Font" /> <w :LsdException Locked="false" Priority="11" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtitle" /> <w :LsdException Locked="false" Priority="22" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Strong" /> <w :LsdException Locked="false" Priority="20" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Emphasis" /> <w :LsdException Locked="false" Priority="59" SemiHidden="false"    UnhideWhenUsed="false" Name="Table Grid" /> <w :LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text" /> <w :LsdException Locked="false" Priority="1" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="No Spacing" /> <w :LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading" /> <w :LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List" /> <w :LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid" /> <w :LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1" /> <w :LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2" /> <w :LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1" /> <w :LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2" /> <w :LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1" /> <w :LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2" /> <w :LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3" /> <w :LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List" /> <w :LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading" /> <w :LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List" /> <w :LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid" /> <w :LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 1" /> <w :LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 1" /> <w :LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 1" /> <w :LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1" /> <w :LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1" /> <w :LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 1" /> <w :LsdException Locked="false" UnhideWhenUsed="false" Name="Revision" /> <w :LsdException Locked="false" Priority="34" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="List Paragraph" /> <w :LsdException Locked="false" Priority="29" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Quote" /> <w :LsdException Locked="false" Priority="30" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Quote" /> <w :LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 1" /> <w :LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1" /> <w :LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1" /> <w :LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1" /> <w :LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 1" /> <w :LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 1" /> <w :LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 1" /> <w :LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 1" /> <w :LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 2" /> <w :LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 2" /> <w :LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 2" /> <w :LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2" /> <w :LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2" /> <w :LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 2" /> <w :LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 2" /> <w :LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2" /> <w :LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2" /> <w :LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2" /> <w :LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 2" /> <w :LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 2" /> <w :LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 2" /> <w :LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 2" /> <w :LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 3" /> <w :LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 3" /> <w :LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 3" /> <w :LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3" /> <w :LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3" /> <w :LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 3" /> <w :LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 3" /> <w :LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3" /> <w :LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3" /> <w :LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3" /> <w :LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 3" /> <w :LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 3" /> <w :LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 3" /> <w :LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 3" /> <w :LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 4" /> <w :LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 4" /> <w :LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 4" /> <w :LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4" /> <w :LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4" /> <w :LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 4" /> <w :LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 4" /> <w :LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4" /> <w :LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4" /> <w :LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4" /> <w :LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 4" /> <w :LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 4" /> <w :LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 4" /> <w :LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 4" /> <w :LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 5" /> <w :LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 5" /> <w :LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 5" /> <w :LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5" /> <w :LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5" /> <w :LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 5" /> <w :LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 5" /> <w :LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5" /> <w :LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5" /> <w :LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5" /> <w :LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 5" /> <w :LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 5" /> <w :LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 5" /> <w :LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 5" /> <w :LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 6" /> <w :LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 6" /> <w :LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 6" /> <w :LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6" /> <w :LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6" /> <w :LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 6" /> <w :LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 6" /> <w :LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6" /> <w :LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6" /> <w :LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6" /> <w :LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 6" /> <w :LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 6" /> <w :LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 6" /> <w :LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 6" /> <w :LsdException Locked="false" Priority="19" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis" /> <w :LsdException Locked="false" Priority="21" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis" /> <w :LsdException Locked="false" Priority="31" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference" /> <w :LsdException Locked="false" Priority="32" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Reference" /> <w :LsdException Locked="false" Priority="33" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Book Title" /> <w :LsdException Locked="false" Priority="37" Name="Bibliography" /> <w :LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading" /> </w> </xml>< ![endif]--><br />
Step 1: Exploit Overachievers</p>
<ul>
<li>Maximize value by using free tools</li>
<li>OWASP (Open Web Application Security Project)</li>
<li>WASC (Web Application Security Consortium)</li>
</ul>
<p>Step 2: Learn</p>
<ul>
<li>Security is not an arcane art reserved for people with a special gift.  It’s campfire knowledge.
<ul>
<li>Assess your security posture regularly</li>
<li>Do not neglect any aspect of your security; bad guys don’t (Social Engineering, Internal Network, Firewall, Web Apps, etc)</li>
</ul>
</li>
</ul>
<p>Step 3: Chase Your Tail</p>
<ul>
<li>Remember where you started
<ul>
<li>Free tools can provide extreme amounts of value
<ul>
<li>OWASP (Eg: OWASP Testing Guide)</li>
<li>WASC</li>
</ul>
</li>
<li>There is no magic to security</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Tools Needed</strong></span></p>
<ul>
<li>Web Developer Toolbar
<ul>
<li>POST to GET</li>
<li>Response headers</li>
</ul>
</li>
<li>NoScript or QuickJava</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Estimating Vulnerabilities</strong></span></p>
<ul>
<li>Site Age – Care &amp; Feeding
<ul>
<li>“Copyright 2003”</li>
<li>Alexa</li>
<li>Archive.org</li>
<li>Whois</li>
<li>Last modified date</li>
<li>Old server + modules version #’s</li>
</ul>
</li>
<li>2-3 years (2), 3-5 years (3), 5-10 years (4), 10+ (5)</li>
<li>Programming Language
<ul>
<li>.cfm (1)</li>
<li>AJAX (1)</li>
<li>.do/.jsp (1)</li>
<li>.cgi/.pl/.shtml (2)</li>
<li>.asp (2)</li>
<li>.php (2)</li>
<li>.aspx/.jspx/.html (0)</li>
<li>Languages + Demographics theory</li>
</ul>
</li>
<li>Size of the Site Logic Complexity
<ul>
<li>Surf around manually
<ul>
<li>Sitemap</li>
</ul>
</li>
<li>Google inurl: search</li>
<li>Spider (added download + added time)</li>
<li>Small (0), Medium – typical retailer (1), Large – Yahoo (3)</li>
</ul>
</li>
<li>Search
<ul>
<li>XSS tests (1)
<ul>
<li>“Company”</li>
<li>I &lt;3 U</li>
</ul>
</li>
<li>SQL injection (1)
<ul>
<li>O’Malley</li>
</ul>
</li>
<li>DoS (.5)
<ul>
<li>a AND b AND c …</li>
</ul>
</li>
</ul>
</li>
<li>Registration
<ul>
<li>Does it exist?  Yes (1)</li>
<li>Email validation and/or CAPTCHA (1-2)</li>
<li>Password complexity? (1)</li>
<li>Can you choose “admin” as a username? (1)</li>
</ul>
</li>
<li>Security Functions
<ul>
<li>Does change password enforce password complexity rules</li>
<li>Does change password require the existing password</li>
<li>Can you change email address without a password</li>
<li>Can emails be changed without validating them</li>
<li>Are secret questions “strong”</li>
</ul>
</li>
<li>Contact forms
<ul>
<li>Do they have an email address in a hidden field (1)</li>
<li>Submit a blank contact
<ul>
<li>Does it work without an error (1)</li>
</ul>
</li>
<li>With and without JavaScript
<ul>
<li>Does it say “Thanks” without JS but errors when JS is turned on (1)</li>
</ul>
</li>
<li>Can users contact other users on the site (Eg: Private message) (2)</li>
</ul>
</li>
<li>Login
<ul>
<li>Does it use SSL (1)</li>
<li>Does it allow auto complete (1)</li>
<li>Does it stop me from being able to type failed logins (3)
<ul>
<li>Horizontal, Vertical, &amp; Diagonal Brute Force attacks</li>
</ul>
</li>
<li>Can you switch POST to GET (1)
<ul>
<li>Session fixation</li>
<li>CSRF (1 per major site function, EG: change password, change secret question, change email address, etc)</li>
</ul>
</li>
<li>Does it auto-logout (1)</li>
<li>javascript:alert(document.cookie) (1)</li>
</ul>
</li>
<li>Forgot password flow
<ul>
<li>Does it send the plaintext password (1)</li>
<li>Does it send a “small” key (1) – 20 bits or less</li>
<li>Does it tell you if your username is valid or not (.5)</li>
</ul>
</li>
<li>File Upload
<ul>
<li>Does it check file extensions (.5)</li>
<li>Does it check file types (.5)</li>
<li>Does it allow re-displaying of the file (1)</li>
</ul>
</li>
<li>HTML/JS/CSS Comments
<ul>
<li>Intranet IPs/addresses (.5)</li>
<li>Passwords (1)</li>
<li>Functionality comments (.5)</li>
</ul>
</li>
<li>URL Structure
<ul>
<li>function?path=/files/file.asp (1)</li>
<li>something?id=104 (1)</li>
<li>search?q=bob&amp;charset=UTF-8 (1)
<ul>
<li>alternate charset</li>
<li>header injection</li>
</ul>
</li>
<li>redir?url=http://www.cnn.com/ (.5)</li>
<li>chngpasswd?usr=bob&amp;pass=1234 (2)</li>
<li>/images/ If it shows a directory (1)</li>
</ul>
</li>
<li>Obvious admin interfaces (2)
<ul>
<li>/admin/</li>
<li>/blog/wp-admin/</li>
<li>/administrator/</li>
<li>/adm/</li>
<li>admin.url.com</li>
</ul>
</li>
<li>Outdated Open Source or Commercial Programs
<ul>
<li>PHP nuke</li>
<li>WordPress</li>
<li>Drupal</li>
<li>3/instance</li>
<li>+1 for every major revision out of date</li>
</ul>
</li>
<li>Other questions
<ul>
<li>Does it allow rich HTML user comments (1)</li>
<li>Does it have a send-to-friend function (1)</li>
<li>Virtual host? (MSN IP search) (1)</li>
</ul>
</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Things this doesn’t cover</strong></span></p>
<ul>
<li>Timing attacks, buffer overflows, etc</li>
<li>Network infrastructure flaws (including DNS)</li>
<li>Predictable file locations (VCS trees, etc)</li>
<li>Logic flaws</li>
<li>Backup files/folders/CVS trees, etc</li>
<li>Alternate paths of exploitation (email, FTP, APIs, etc)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.webadminblog.com/index.php/2009/03/23/assessing-your-web-app-manually-without-hacking-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
