<?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>The iViZ Blog &#187; Web Application Security</title>
	<atom:link href="http://www.ivizsecurity.com/blog/category/web-application-security/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ivizsecurity.com/blog</link>
	<description>The Authoritative Blog on Penetration Testing</description>
	<lastBuildDate>Fri, 27 Jan 2012 10:24:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Challenges in automated testing of session management</title>
		<link>http://www.ivizsecurity.com/blog/penetration-testing/challenges-in-automated-testing-of-session-management/</link>
		<comments>http://www.ivizsecurity.com/blog/penetration-testing/challenges-in-automated-testing-of-session-management/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 07:41:36 +0000</pubDate>
		<dc:creator>Nibin</dc:creator>
				<category><![CDATA[Penetration Testing]]></category>
		<category><![CDATA[Web Application Security]]></category>

		<guid isPermaLink="false">http://www.ivizsecurity.com/blog/?p=351</guid>
		<description><![CDATA[As we all know, web application scanners are meant to assist a user in identifying the vulnerabilities in a web application. The user/ audience for this tool can be penetration testers, developers or auditors. The true potential of any tool can be extracted only by a user who understands the domain and the tool he [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>As we all know, web application scanners are meant to assist a user in identifying the vulnerabilities in a web application. The user/ audience for this tool can be penetration testers, developers or auditors. The true potential of any tool can be extracted only by a user who understands the domain and the tool he is operating. That means, these tools should only become in assisting a skilled or semi skilled person to conduct a web test. Even after more than a decade of engineering a security scanner for web applications, we see mixed reports on why some scanners perform poorly while some perform better. From my experience, most of the benchmarking reports I see are for test websites and when it comes to real applications, most of the scanner’s perform relatively the same.</p>
<p>If web application tests are compared to network tests, it will be noticed that web application tests are considered to be costlier than network tests. Day-by-day network tests will only become cheaper but web application tests are not going to follow that path. The classic difference is that network tests are conducted on a well defined protocol where it is meant for the machines to understand. If you look at the nessus plugins, it would be quite clear that the attack request and its response communicate a well defined protocol and structure. While in the case of web applications, even though the protocol it uses is HTTP, the crux of the problem is in understanding the context within which the application tests are conducted. Here also, there are reliable tests with zero false positives possible if it is fairly based on injections, error/pattern matching etc. But what about business logic tests, privilege escalation tests etc. Can they be truly automated?</p>
<p>So here, I would like to discuss one aspect of web application testing and check out the possibilities of true automation, where even a person who is not qualified to do a test should benefit from it. I will particularly refer to some aspects of OWASP testing guide v3’s Session Management testing [1].<br />
<strong><br />
Session Management Testing</strong></p>
<p>At the core of any web application is to handle state information and there by handle the user interaction with the target site. As the transport mechanism used is HTTP, and it being a stateless protocol, the state needs to be carried in a way so that the client and server understand it. This session or state information can be tracked in cookie, URL or hidden form parameters at the client side and when it is transferred to the server, this information can be located in URL, Cookie header or in the body of the request (as a URL encoded data). Understanding these basic concepts, now let’s see how different black box tests can be truly automated and what could be the challenges in automation.</p>
<p>In a true automated scanning for session management, the scanner should be able to login to the application. This could be fairly simple to complex, based on how the scanner automatically detects the login page and processes it. Some heuristics can be applied for detecting login page, such as; if there are only two input boxes and the type for one input box is ‘text’ and the type for the other input box is ‘password’. Now this heuristic may apply in most cases but processing login page itself involves rather other set of problems like execution of javascript and rendering of the DOM, the URL for form submission is only generated by java script, the form submission for login is an event etc.</p>
<p>In a simple scenario, where the credentials are given in the scan profile and if the scanner should make an automatic login to the application, it needs to understand the difference between a successful login and a login failure. To automatically understand this difference, a scanner can send “n” number of login requests with wrong credentials and create a statistical score of the failed login pages. Once the scanner understands how a login failure looks like, then it can submit the form for login with the correct credentials and check the statistical difference of this page’s response to the failed login pages. In this way, to some extent a scanner can reliably learn a successful login page attempt.</p>
<p>Another key challenge for the scanners is to understand the true order of execution of java script events in a page. This is an open problem in truly understanding the order of events. A scanner can try out all the “n” possible combinations of event execution starting from a pivot event and later process the branches independently. This way of execution is very time consuming and it will lead to an exponential order to even complete the testing of a single page. As with web 2.0 applications, this complexity will only rise and the practical solution is to do a depth first search of events or a breadth first search of events and test it accordingly, so that ensuring at least a registered event for an element is executed once.</p>
<p>Another millennium challenge would be truly testing for privilege escalations. Considering the case where, the scan profile consists of two or more different user role credentials, then the scanner can automatically login to the application. Now if the scanner keeps the map of resources that are accessible from each role after authentication, the scanner can try to access the resources (which are not present in the current role’s list) listed in other roles. This might sound fairly simple but it is awfully complex to implement for any real world application. Some of the reasons are (1) Determining two responses whether they are the same or not has a context involved in it (2) Order of execution of events cannot be determined (3) if the resources are dynamic pages, then that requires valid query parameters etc. Most of the problems for true automation of testing arise because of the way web applications are designed and developed.</p>
<p>Other than that, some of the easy and automatable cases in session management testing are given below:</p>
<p><em>Testing for Set-Cookie directives tagged as Secure.<br />
</em><br />
This test for checking “secure” attribute can be truly automated after fetching the Set-Cookie header value and parsing the Cookie object or doing a pattern matching for “Secure”.<br />
<em><br />
Testing for Cookie operations over unencrypted transport</em></p>
<p>This test can also be truly automated by checking the scheme of transport for any transaction where cookie is transferred to the server.</p>
<p><em>Testing for Cookie be forced over unencrypted transport</em></p>
<p>This test can be truly automated based on certain conditions such as assumption of an HTTP service running at any other port. The test can check for sending of cookie to the default HTTP port and as it is not an encrypted channel, we can check the response coming from the server. If the HTTP is not running on a default port, then this test will fail to complete.<br />
<em><br />
Testing for Cookies persistence.</em></p>
<p>This test can be truly automated by checking the attributes of the cookie and also checking if the cookie’s are deleted once the session is expired.</p>
<p><em>What Expires= times are used on persistent cookies, and are they reasonable?</em></p>
<p>This test can be truly automated and a check on reasonable value of expiration can be compared with a policy set with the scan configuration/profile.</p>
<p>This is not a comprehensive guide on explaining what all can be automated for session management testing. The objective for this post was to make others aware of some of the challenges in building true automation for testing. So a tool like scanners should only assist any user in conducting his test for the application. Even zero false positive scanners’ can not be absolutely zero false positive if they are intending to have larger coverage of OWASP test cases. If it is solved in any innovative way, I would like to read a research paper regarding the same.</p>
<p>[1] <a href="https://www.owasp.org/index.php/Testing_for_Session_Management">https://www.owasp.org/index.php/Testing_for_Session_Management</a></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ivizsecurity.com%2Fblog%2Fpenetration-testing%2Fchallenges-in-automated-testing-of-session-management%2F&amp;title=Challenges%20in%20automated%20testing%20of%20session%20management" id="wpa2a_2"><img src="http://www.ivizsecurity.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ivizsecurity.com/blog/penetration-testing/challenges-in-automated-testing-of-session-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>REST APIs and Next Generation Threats: Part 1</title>
		<link>http://www.ivizsecurity.com/blog/web-application-security/rest-apis-and-next-generation-threats-part-1/</link>
		<comments>http://www.ivizsecurity.com/blog/web-application-security/rest-apis-and-next-generation-threats-part-1/#comments</comments>
		<pubDate>Mon, 26 Sep 2011 13:56:04 +0000</pubDate>
		<dc:creator>jitendra.chauhan</dc:creator>
				<category><![CDATA[Web Application Security]]></category>

		<guid isPermaLink="false">http://www.ivizsecurity.com/blog/?p=315</guid>
		<description><![CDATA[Some days back, when I was going through the record breaking statistics of Facebook and its social networking platform’s REST APIs,  I found phrases like “People on Facebook install 20 million applications every day. More than 2.5 million websites have integrated with Facebook”. It  really shows the incredible power of REST APIs and probably it [...]]]></description>
			<content:encoded><![CDATA[<p></p><p style="text-align: justify">Some days back, when I was going through the <a href="http://www.facebook.com/press/info.php?statistics">record breaking statistics</a> of Facebook and its social networking platform’s REST APIs,  I found phrases like <em>“</em><em>People on Facebook install 20 million applications every day. More than 2.5 million websites have integrated with Facebook”. </em>It  really shows the incredible power of REST APIs and probably it is just a start. Apart from <a href="https://developers.facebook.com/docs/reference/api/">Facebook</a>, the list of <strong>API provider</strong> <strong>applications</strong> providing REST APIs is increasing day by day, some of these applications include <a href="https://developer.linkedin.com/rest">LinkedIn</a>, Google, Bing, Delicious, GroupOn, Paypal, Twitter, Salesforce and so on. The number of <strong>3<sup>rd</sup> party applications</strong> built on top of REST APIs is also drastically increasing. Probably, we are going to see atleast thousands of 3<sup>rd</sup> party applications in the near future, built on top of REST APIs, creating a true mesh of applications never seen before.</p>
<p style="text-align: justify">However, everything comes with a cost and here the cost can be loss of your privacy, social and professional relationships, money and confidential data. As a result, it is extremely important to know and remediate various security risks involved with REST APIs and 3<sup>rd</sup> party applications. <strong>In this post, we will discuss some of the major security risks involved from the perspective of end users. In the end, we will demonstrate a real life scenario of privacy breach of a victim user.</strong></p>
<p>There are two main scenarios to access API provider application by a user.</p>
<h2>Scenario 1:</h2>
<p>You access your API provider application directly over the <a href="http://www.ivizsecurity.com/blog/wp-content/uploads/2011/09/Attack-Step1.bmp.jpg"><br />
</a>HTTP layer with proper security mechanisms provided by the application.</p>
<p><a href="http://www.ivizsecurity.com/blog/wp-content/uploads/2011/09/Scenario-1.bmp"><img class="alignleft size-full wp-image-325" src="http://www.ivizsecurity.com/blog/wp-content/uploads/2011/09/Scenario-1.bmp" alt="" /></a></p>
<p>Figure 1: Scenario 1 where a user accesses API provider application directly</p>
<h2>Scenario 2</h2>
<p style="text-align: justify">You access your API provider application’s features via a 3<sup>rd</sup> party application on your browser. 3<sup>rd</sup> party application is responsible for making REST API based calls to API Provider App to implement necessary features. Authentication and authorization is provided by upcoming standard called <a href="http://oauth.net/documentation/">OAuth</a>.</p>
<p><a href="http://www.ivizsecurity.com/blog/wp-content/uploads/2011/09/Scenario-2.bmp"><img class="alignleft size-full wp-image-326" src="http://www.ivizsecurity.com/blog/wp-content/uploads/2011/09/Scenario-2.bmp" alt="" /></a></p>
<p>Figure 2: Scenario 2 where a user accesses API provider functionality via a 3rd party application.</p>
<h2>Threats</h2>
<p style="text-align: justify">Following table shows how a 3<sup>rd</sup> party application can put a user under various security risks even if API Provider Application is secure from major security flaws. As shown, XSS/CSRF/Broken Authentication puts a user under the same risk as that of 3<sup>rd</sup> party application. On the other hand, Injection / Broken Authorization puts  you under different risks depending upon exact functionality of 3<sup>rd</sup> party application.</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="229" valign="top"></td>
<td width="144" valign="top"><strong>Scenario 1</strong></td>
<td colspan="2" width="265" valign="top"><strong>Scenario 2</strong></td>
</tr>
<tr>
<td width="229" valign="top"><strong>Risk   / Security vulnerability</strong></td>
<td width="144" valign="top"><strong>API Provider App</strong></td>
<td width="144" valign="top"><strong>3<sup>rd</sup> Party   Application</strong></td>
<td width="121" valign="top"><strong>API Provider App</strong></td>
</tr>
<tr>
<td width="229" valign="top">Injection</td>
<td width="144" valign="top"><strong>No </strong></td>
<td width="144" valign="top"><strong>Yes</strong></td>
<td width="121" valign="top"><strong>Scenario Based</strong></td>
</tr>
<tr>
<td width="229" valign="top">Cross -Site Scripting (XSS)</td>
<td width="144" valign="top"><strong>No</strong></td>
<td width="144" valign="top"><strong>Yes</strong></td>
<td width="121" valign="top"><strong>Yes</strong></td>
</tr>
<tr>
<td width="229" valign="top">Broken Authentication</td>
<td width="144" valign="top"><strong>No</strong></td>
<td width="144" valign="top"><strong>Yes</strong></td>
<td width="121" valign="top"><strong>Yes</strong></td>
</tr>
<tr>
<td width="229" valign="top">Cross-Site Request Forgery (CSRF)</td>
<td width="144" valign="top"><strong>No</strong></td>
<td width="144" valign="top"><strong>Yes</strong></td>
<td width="121" valign="top"><strong>Yes</strong></td>
</tr>
<tr>
<td width="229" valign="top">Broken Authorization</td>
<td width="144" valign="top"><strong>No</strong></td>
<td width="144" valign="top"><strong>Yes</strong></td>
<td width="121" valign="top"><strong>Scenario Based</strong></td>
</tr>
</tbody>
</table>
<p>Table 1: OWASP Top 5 Risks and comparison of how an  insecure 3rd party application can make API Provider App insecure.</p>
<h1>An illustration</h1>
<p style="text-align: justify">Consider the following scenario where a popular social / professional networking site like LinkedIn or Facebook is an API Provider Application and there are 3<sup>rd</sup> party applications that provide functionality to make REST APIs calls to them.  Say LinkedIn is secure from CSRF vulnerability, however there is CSRF vulnerability in 3rd Party application and as a result, we will show, it is possible to trick a victim user, say, to add an attacker as a contact in LinkedIn’s professional network.</p>
<p>In summary, attack sequences are described as following. Figure 3 demonstrate the attack sequences diagrammatically.</p>
<p><a href="http://www.ivizsecurity.com/blog/wp-content/uploads/2011/09/attack-summary.bmp"><img class="alignleft size-full wp-image-327" src="http://www.ivizsecurity.com/blog/wp-content/uploads/2011/09/attack-summary.bmp" alt="" /></a></p>
<p>Figure 3: Flow depicting how an attacker exploits CSRF flaw in a 3rd party application.</p>
<p><strong>Step 1:</strong> Attacker creates a blog with title called “REST API for dummies”.  Attacker shares the blog post with the victim user.</p>
<p style="text-align: justify">The blog recommends <strong>3rd Party </strong>application to try REST API calls. 3rd Party application is integrated with LinkedIn using OAuth protocol. OAuth authenticates and authorizes every 3<sup>rd</sup> party application before it can make any REST API call. Attacker creates a JavaScript exploit embedded in the blog post. The exploit utilizes CSRF vulnerability in the 3rd Party application to send a friend request to the attacker on  behalf of the victim user, without victim user’s real intention and knowledge.</p>
<p><a href="http://www.ivizsecurity.com/blog/wp-content/uploads/2011/09/Attack-Step1.bmp1.jpg"><img class="alignleft size-full wp-image-323" src="http://www.ivizsecurity.com/blog/wp-content/uploads/2011/09/Attack-Step1.bmp1.jpg" alt="" width="350" height="250" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Figure 4: An example blog created by attacker, embedding a JavaScript exploit.</p>
<p style="text-align: justify"><strong>Step 2:</strong> Victim user follows the blog and open 3rd Party application in a new tab of web browser.  Victim user selects OAuth option to authenticate and authorize 3rd Party application to make REST A<a href="http://www.ivizsecurity.com/blog/wp-content/uploads/2011/09/Attack-Step4.bmp.jpg"><br />
</a>PI calls to LinkedIn.</p>
<p><a href="http://www.ivizsecurity.com/blog/wp-content/uploads/2011/09/Attack-Step3.jpg"><img src="http://www.ivizsecurity.com/blog/wp-content/uploads/2011/09/Attack-Step3.jpg" alt="" width="501" height="204" /></a></p>
<p>Figure 5: 3rd Party application asks for a permission to get access to victim user&#8217;s LinkedIn Account</p>
<p style="text-align: justify"><strong>Step 3:</strong> The JavaScript exploit, embedded in the blog post, makes a HTTP Post request to 3rd Party on  behalf of the victim user.  As a result of CSRF vulnerability in 3rd Party application, HTTP POST will trigger logic at the backend server of 3rd Party to create a REST API call to LinkedIn. In the current example, exploit will send a fake friend request from victim user to the attacker.  However, as a generic  case, it is possible to post a comment, read the mailbox or perform any other action supported by LinkedIn REST APIs.</p>
<p><strong>Step 4: </strong>A friend request email will be sent to attacker. Attacker can easily accept the invitation and add victim user as a friend in LinkedIn’s professional network.</p>
<p><a href="http://www.ivizsecurity.com/blog/wp-content/uploads/2011/09/Attack-Step4.bmp.jpg"><img src="http://www.ivizsecurity.com/blog/wp-content/uploads/2011/09/Attack-Step4.bmp.jpg" alt="" width="350" height="250" /></a></p>
<p>Figure 6: An illustration of successful exploitation. Invitation mail sent to attacker on the behalf of victim user&#8217;s LinkedIn Account.</p>
<h2>Conclusion</h2>
<p>Application Mesh ups and REST APIs bring new dimensions to web application security. Security challenges of REST APIs need to be discussed, formalized and remediated.</p>
<p>In the next few blogs, I will explore some of the following topics:</p>
<ol>
<li>REST API and Next Generation Threats: Part 2</li>
<li>REST API and Security Remediation from perspective of API providers, 3<sup>rd</sup> party applications and end users.</li>
<li>REST APIs and role of Web Application Penetration Testing.</li>
</ol>
<p>Please feel free to provide your valuable comments, questions and suggestions and stay tuned.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ivizsecurity.com%2Fblog%2Fweb-application-security%2Frest-apis-and-next-generation-threats-part-1%2F&amp;title=REST%20APIs%20and%20Next%20Generation%20Threats%3A%20Part%201" id="wpa2a_4"><img src="http://www.ivizsecurity.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ivizsecurity.com/blog/web-application-security/rest-apis-and-next-generation-threats-part-1/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Meet hacker’s best friends: AntiVirus and Firewalls</title>
		<link>http://www.ivizsecurity.com/blog/penetration-testing/is-your-anti-virus-hacker%e2%80%99s-best-friend/</link>
		<comments>http://www.ivizsecurity.com/blog/penetration-testing/is-your-anti-virus-hacker%e2%80%99s-best-friend/#comments</comments>
		<pubDate>Mon, 21 Feb 2011 05:36:31 +0000</pubDate>
		<dc:creator>jitendra.chauhan</dc:creator>
				<category><![CDATA[Penetration Testing]]></category>
		<category><![CDATA[Web Application Security]]></category>

		<guid isPermaLink="false">http://www.ivizsecurity.com/blog/?p=232</guid>
		<description><![CDATA[Mr. John (name changed) is the senior security manager of one of the large organization in the world.  Mr. John enforces best of the security policy to protect his organization from latest threats and risks. He has deployed best of the anti-virus on all the desktops and servers. He keeps all the anti-virus signature updated [...]]]></description>
			<content:encoded><![CDATA[<p></p><p style="text-align: justify;">Mr. John (name changed) is the senior security manager of one of the large organization in the world.  Mr. John enforces best of the security policy to protect his organization from latest threats and risks. He has deployed best of the anti-virus on all the desktops and servers. He keeps all the anti-virus signature updated all the time. He has deployed firewalls at the perimeter of his organization’s network.  He has deployed IDS/IPS to detect any malicious activity in the network proactively. He enforces regular backup and has incidence response team to act upon any unforeseen event. Mr. John trusts Anti-virus, firewalls and IDS/IPS to implement best of the network security in his organization.</p>
<p style="text-align: justify;">Very recently, during our penetration testing assignment with Mr. John&#8217;s organization, Mr John and his senior management team asked us, “How secure are my anti-virus and firewalls?&#8221;. They also wanted to know vulnerability trends in the security products.</p>
<p style="text-align: justify;">We did some survey on the internet to find something closely related to vulnerability trends in security products. As part of our survey, we came across some interesting articles like <a href="http://www.matousec.com/info/articles/khobe-8.0-earthquake-for-windows-desktop-security-software.php#table-of-vulnerable-software">Security Vulnerability found in almost all antivirus and security products</a>, <a href="https://www-935.ibm.com/services/us/iss/xforce/trendreports/">IBM: 2010 Mid-Year Trend and Risk Report</a>, <a href="http://www.computersecurityarticles.info/security/secunia-half-year-report-for-2010-shows-interesting-trends-wed-jul-14th/">Secunia: Half Year Report for 2010 shows interesting trends</a> and many more but nothing was close to what we were looking for. Finally we decided pull out data from <a href="http://nvd.nist.gov/download.cfm">NVD </a>vulnerability database and run some SQL queries to create some interesting statistics. We decided to publish the statistics as whitepaper to benefit whole security community. You can download the latest copy from <a href="http://www.ivizsecurity.com/blog/wp-content/uploads/2011/02/Vulnerability-Trends-in-Security-Products-upto-Year-2010.pdf">here</a>.</p>
<p style="text-align: justify;"><strong>History of Vulnerability finding in Security Products</strong></p>
<p style="text-align: justify;">Following figure shows vulnerability finding in the security products for last 10 years (since big bang, year 2000 was the year when first of the vulnerabilities were reported in the security products).  As shown, security products are not immune from vulnerabilities and security flaws. In fact,  your anti-virus and firewalls are often deployed at perimeter and gateways and as a result they are the most lucrative targets for the attacker to compromise your network and personal desktop. Interestingly, year of 2005 saw a great increase in vulnerability findings in the security products.</p>
<p><a href="http://www.ivizsecurity.com/blog/wp-content/uploads/2011/02/Historical-Trend-in-Security-Products-1.bmp.jpg"><img src="http://www.ivizsecurity.com/blog/wp-content/uploads/2011/02/Historical-Trend-in-Security-Products-1.bmp.jpg" alt="" width="514" height="176" /></a></p>
<p><strong>Vulnerability findings in major Security Product Types</strong></p>
<p style="text-align: justify;">We classified the security products into major classes of Anti&#8211;virus (personal, enterprise, mail, gateway etc), Firewalls (Network, Web Applications etc), IDS/IPS, VPN and others (others include products like security management softwares, NAC devices and other miscellaneous security softwares).  Following figure shows that all the classes / types of security products are affected by security flaws. Anti-virus tops the list with 625 vulnerabilities reported upto end of 2010 year, followed up by firewalls.</p>
<p><a href="http://www.ivizsecurity.com/blog/wp-content/uploads/2011/02/Vulnerabilities-vs-Product-Type.bmp.jpg"><img class="size-full wp-image-239 alignright" src="http://www.ivizsecurity.com/blog/wp-content/uploads/2011/02/Vulnerabilities-vs-Product-Type.bmp.jpg" alt="" width="450" height="150" /></a></p>
<p><strong>Deep Diving</strong></p>
<p>When we dig deeper, we found out that Cisco (with overall 838 vulnerability findings) tops the list of security vendors affected by vulnerability findings in their products, followed up by Symantec with overall 258 vulnerability findings. Some of the major security products that tops the list are ClaimAV Anti-virus, Norton Antivirus, Checkpoint Firewall-1, Cisco Pix Firewall.</p>
<p><strong>Final Words:</strong></p>
<p style="text-align: justify;"><strong> </strong>Security products like anti-virus, firewalls, IDS/IPS and VPN have become of paramount importance to provide highest degree of confidentiality, availability and Integrity (CIA) to individuals and organizations. However, it is foolish to assume that security products are free from any vulnerability (security flaws). Security Products can also be of target of attacks from the attackers.</p>
<p>Please download the full report of <a href="http://www.ivizsecurity.com/blog/wp-content/uploads/2011/02/Vulnerability-Trends-in-Security-Products-upto-Year-2010.pdf">Vulnerability Trends in Security Products upto Year 2010</a> and post your views/feedback in the comment. If relevant, we will update the report with due credits to you.</p>
<p><strong>References</strong>:</p>
<ol>
<li><a href="http://www.matousec.com/info/articles/khobe-8.0-earthquake-for-windows-desktop-security-software.php#table-of-vulnerable-software">KHOBE – 8.0 earthquake for Windows desktop security software</a>.</li>
<li><a href="http://www.thetechherald.com/article.php/201019/5611/Security-vendors-respond-to-Matousec-research">Security vendors respond to Matousec research</a>.</li>
<li><a href="https://www-935.ibm.com/services/us/iss/xforce/trendreports/">IBM: 2010 Mid-Year Trend and Risk Report</a>.</li>
<li><a href="http://www.computersecurityarticles.info/security/secunia-half-year-report-for-2010-shows-interesting-trends-wed-jul-14th/">Secunia: Half Year Report for 2010 shows interesting trends.</a></li>
<li><a href="http://www.sans.org/top-cyber-security-risks/">SANS: The Top Cyber Security Risks.</a></li>
<li><a href="http://cve.mitre.org/">Common Vulnerability Enumeration (CVE)</a></li>
<li><a href="http://cpe.mitre.org/">Common Product Enumeration (CPE)</a></li>
<li><a href="http://nvd.nist.gov/">National Vulnerability Database (NVD)</a></li>
</ol>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ivizsecurity.com%2Fblog%2Fpenetration-testing%2Fis-your-anti-virus-hacker%25e2%2580%2599s-best-friend%2F&amp;title=Meet%20hacker%E2%80%99s%20best%20friends%3A%20AntiVirus%20and%20Firewalls" id="wpa2a_6"><img src="http://www.ivizsecurity.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ivizsecurity.com/blog/penetration-testing/is-your-anti-virus-hacker%e2%80%99s-best-friend/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>How Search Engine Security Testing can improve Website Ranking</title>
		<link>http://www.ivizsecurity.com/blog/penetration-testing/how-search-engine-security-testing-can-improve-website-ranking/</link>
		<comments>http://www.ivizsecurity.com/blog/penetration-testing/how-search-engine-security-testing-can-improve-website-ranking/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 06:06:57 +0000</pubDate>
		<dc:creator>Rudra K Sinha Roy</dc:creator>
				<category><![CDATA[Penetration Testing]]></category>
		<category><![CDATA[Web Application Security]]></category>

		<guid isPermaLink="false">http://www.ivizsecurity.com/blog/?p=152</guid>
		<description><![CDATA[You may be wondering what Website Ranking Improvement has to do with Search Engine Security Testing. Few years back  I also wondered the same before I came across one smart SEO guy. Combined with his insights in SEO and my background in security testing, I&#8217;m convinced that all search engine marketeers should now consider adopting [...]]]></description>
			<content:encoded><![CDATA[<p></p><p style="text-align: justify;">You may be wondering what Website Ranking Improvement has to do with Search Engine Security Testing. Few years back  I also wondered the same before I came across one smart <a href="http://in.linkedin.com/in/ajinimc" target="_blank">SEO guy</a>. Combined with his insights in SEO and my background in security testing, I&#8217;m convinced that all search engine marketeers should now consider adopting search engine security testing. Here is why..According to Jeff Bezos, CEO Amazon,<a href="http://www.ted.com/talks/jeff_bezos_on_the_next_web_innovation.html"> Internet is a gold rush</a> and all of us know that top ranking in major search engines is equal to a lot of Gold. In this rush, only being good is not enough, you also need to prove to Search Engines (mainly Google) that <a href="http://www.seomoz.org/article/search-ranking-factors">you are good</a> . Wherever there is money or Gold, there are two worlds, one &#8220;white&#8221; and the other one &#8220;black&#8221;. Rather I should say there are 2 hats viz. white and black hat (Also I must mention grey hat, which swings from white to black depending on situations). In this post we will see how an effective vulnerability testing can determine some black hat signals (negative hidden practices by your SEO Company, competitors or your team that can hurt your search engine ranking and traffic).</p>
<h2>What can hurt your Search Engine Ranking : The 6 negative signals..</h2>
<p style="text-align: justify;">These are few of the signals below one need to check, some can be highly negative (Some of which is plain ignorance. But still one can’t eliminate the possibilities of a competitor doing a compromise with the existing website/webapp vulnerability to hurt your search engine ranking. <strong>Let’s see some of the negative signals that can be checked during  search security testing:</strong></p>
<ol>
<li>Checking for malware distribution (An absolute search engine ranking killer, your site can vanish in matter of days from search engine ranking)</li>
<li>Redirection to steal your traffic (It can come under the Search Engine Scanner for <a href="http://www.google.com/support/webmasters/bin/answer.py?hl=en&amp;answer=66355">cloaking</a>)</li>
<li><a href="http://www.google.com/support/webmasters/bin/answer.py?answer=66356">Link stealers</a> (When you link to bad sites, you may also be considered bad by search engines )</li>
<li><a href="http://www.google.com/support/webmasters/bin/answer.py?hl=en&amp;answer=66359">Content stealers</a> (The original content is not considered the original but the one that is being discovered first by the search engine, all others are duplicate contents )</li>
<li>Hidden <a href="http://www.google.com/support/webmasters/bin/answer.py?answer=66353">content injection</a> (Considered bad by Search Engines<a href="http://www.google.com/support/webmasters/bin/answer.py?answer=66353" target="_blank"></a> )</li>
<li>Creating crawling errors for search engines <a href="http://www.google.com/support/webmasters/bin/answer.py?&amp;answer=35120" target="_blank">http://www.google.com/support/webmasters/bin/answer.py?&amp;answer=35120</a></li>
</ol>
<p>Let’s take it one by one and see how security testing can help:</p>
<h2>#1: Malware injection and Distribution</h2>
<p style="text-align: justify;">This may not be considered as a Black hat practice by your own team or the hired SEO Company but it can be a competitor’s black hat mantra to kill competition. Here is a real story I collected from the web:</p>
<p>Peter Kevin (name changed for obvious reasons) had his website infected by a malware but he could not catch it before Google could list his site as an “Attack Site”</p>
<p style="text-align: center;"><a href="http://www.ivizsecurity.com/blog/wp-content/uploads/2010/06/attack.jpg"><img class="size-medium wp-image-160 aligncenter" title="attack" src="http://www.ivizsecurity.com/blog/wp-content/uploads/2010/06/attack-300x151.jpg" alt="" width="300" height="151" /></a><img src="file:///C:/DOCUME%7E1/Rudra/LOCALS%7E1/Temp/moz-screenshot-2.png" alt="" /></p>
<p style="text-align: justify;">Soon Peter could see his ranking going down, visitors getting scared to click on his results because of the warning that Google throws:</p>
<p style="text-align: justify;"><a href="http://www.ivizsecurity.com/blog/wp-content/uploads/2010/06/error.jpg"><img class="aligncenter size-medium wp-image-163" title="error" src="http://www.ivizsecurity.com/blog/wp-content/uploads/2010/06/error-300x118.jpg" alt="" width="300" height="118" /></a></p>
<p style="text-align: justify;">Since Peter was advertising, he was losing money on ads and potential sales every day. It was a good amount of money in ads and business at stake.</p>
<h3>How security and vulnerability testing can help?</h3>
<p style="text-align: justify;">Google also uses a scanner to identify the malware injected sites <a href="http://www.google.com/support/webmasters/bin/answer.py?answer=163633">http://www.google.com/support/webmasters/bin/answer.py?answer=163633</a> but the consequences of Google finding it before the webmaster can be costly. A good vulnerability test can find such malware injections really quick and help the webmaster correct it before search engines find it. The steps to be taken immediately:</p>
<ul>
<li>Send a 503 status message for all pages http://googlewebmastercentral.blogspot.com/2006/08/all-about-googlebot.html</li>
<li>This is how you can do that in Apache (Sending 503 only to Google bots)</li>
</ul>
<blockquote><p><em>Options +FollowSymLinks<br />
RewriteEngine On<br />
RewriteBase /<br />
RewriteCond %{HTTP_USER_AGENT} ^.*(Googlebot|Googlebot|Mediapartners|Adsbot|Feedfetcher)-?(Google|Image)? [NC]<br />
# or RewriteCond %{HTTP_USER_AGENT} ^.*google.* [NC]<br />
RewriteRule .* /cgi-bin/error/503.php</em></p>
<p><em>Sending 503 for everyone<br />
Options +FollowSymLinks<br />
RewriteEngine On<br />
RewriteBase /</em></p>
<p><em>RewriteCond %{REMOTE_HOST} !^1\.1\.1\.1<br />
RewriteCond %{REQUEST_URI} !^/cgi-bin/error/503\.php [NC]<br />
RewriteRule .* /cgi-bin/error/503.php</em></p></blockquote>
<h2>#2 Traffic redirection and Cloaking</h2>
<p>Redirecting your website to some other sites without you, even getting to know it. There are different levels of redirection here under Traffic stealing:</p>
<ul>
<li style="text-align: justify;">Only for specific search engine keywords redirection. There were instances when the traffic was redirected to another website only for certain keywords when it was coming from search engines. This allowed the hacker to get the targeted traffic (quite funny though that how hacker are focusing on quality traffic)</li>
<li>Only for certain referrals (Generally they avoid redirecting the direct traffic)</li>
<li>All traffic redirection.</li>
<li style="text-align: justify;">Only converted leads redirection (This can be business logic vulnerability): Stealing your visitors (leads): There were few instances when the same lead was contacted by many vendors without the knowledge of the original vendor.</li>
<li>How this is done: This can be done at the script level, $_SERVER variable (in PHP) offers a lot of information about the visitor like referral, current IP, which can be use to redirect easily. Also it can be done at the htaccess level, or server httpd.conf level. The most common one is the iframe based redirects <a href="http://www.guardian.co.uk/technology/2008/apr/03/security.google">http://www.guardian.co.uk/technology/2008/apr/03/security.google</a> , <a href="http://www.networkworld.com/news/2008/031308-hackers-launch-massive-iframe.html?fsrc=rss-security">http://www.networkworld.com/news/2008/031308-hackers-launch-massive-iframe.html?fsrc=rss-security</a></li>
</ul>
<h3>How Search Engine Security test can help?</h3>
<p style="text-align: justify;">Vulnerability testing scanner can scan for various level redirects. Also the vulnerability scanner can change its user type to Google Bot (<a href="http://www.seoforclients.com/blog/marketing/seo/how-to-browse-and-check-like-google-bot.html">http://www.seoforclients.com/blog/marketing/seo/how-to-browse-and-check-like-google-bot.html</a> ) to see the pages it is rendering. This may not suffice as the scanner will also have to emulate with a proper referral and keywords. Even that may not suffice as the scanner may have to visit the thank you (or conversation) page. A proper vulnerability testing should also find the URL based session id authentication to avoid a possible lead leak.</p>
<h2># 3 Detecting Link Sealers</h2>
<p>One of the main incentives for the unethical hacker is to steal your website’s reputation and link power through some vulnerability.</p>
<ul>
<li style="text-align: justify;">Link is a major part of Google’s ranking algorithm (Read the journey of search engine algorithm below). There are scanners that run to find website with vulnerabilities to insert links to their websites. Unethical hackers will hack in and edit the High PR pages and add their links. This will increase the PR of the hacker’s site and your PR will be passing on without your information.</li>
<li style="text-align: justify;"> The major problem comes when it redirects (with a 301 redirects) and passes all the link value to another website. Not only link value is passed but also the ranking is passed on to other site.  This happens as Google’s every redirected domain as a shift of domain and thus passes all the value from old domain to the new domain <a href="http://googlewebmastercentral.blogspot.com/2008/04/best-practices-when-moving-your-site.html">http://googlewebmastercentral.blogspot.com/2008/04/best-practices-when-moving-your-site.html</a></li>
</ul>
<h2>#4 Content stealer – Content is the King, Kill the king</h2>
<p style="text-align: justify;">In search engine algorithm content is considered the king and by killing your king, your competitors can win the game altogether. In this case the Copied competitor’s website can rank better than yours, even when your website is the original content developer. This can happen when the hacker delays the indexed of your website’s content and copies the same content to his website and claims the originality. It is difficult for Google to understand who actually owns the content <a href="http://www.seoforclients.com/blog/marketing/seo/faq-why-our-competitors-rank-better-than-us-for-our-own-content-video-ranking-too.html">http://www.seoforclients.com/blog/marketing/seo/faq-why-our-competitors-rank-better-than-us-for-our-own-content-video-ranking-too.html</a></p>
<h2>#5 Detecting Hidden content injection</h2>
<p style="text-align: justify;">Hidden content is a common black hat practice <a href="http://www.google.com/support/webmasters/bin/answer.py?hl=en&amp;answer=66353" target="_blank">http://www.google.com/support/webmasters/bin/answer.py?hl=en&amp;answer=66353</a>. It was once a super hit formula for Google ranking but now it is considered a bad practice. A good security testing and website scanner shall be able to detect such mistakes as well.</p>
<h2>#6 Detecting crawling errors for search engines</h2>
<p style="text-align: justify;">As explained in point #4, crawling errors created by some vulnerability can cause major problems in search engine ranking <a href="http://www.google.com/support/webmasters/bin/answer.py?&amp;answer=35120" target="_blank">http://www.google.com/support/webmasters/bin/answer.py?&amp;answer=35120</a> . There are various levels of crawling errors starting from User Agent based blocking at Web Server level to Meta tag based restrictions. A good search engine testing shall be able to scan for all such possibilities and suggest the webmaster for correction.</p>
<p style="text-align: justify;">Since we have already discussed some of the possible issues in search engine ranking due to website vulnerabilities, it will also be helpful to understand how Search Engine Algorithms evolved and how Black hat and white hat world is striving to win the Gold. Let&#8217;s look into these details in the second part of this article. Keep out a watch&#8230;&#8230;<strong><em>(To Be Continued)</em></strong></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ivizsecurity.com%2Fblog%2Fpenetration-testing%2Fhow-search-engine-security-testing-can-improve-website-ranking%2F&amp;title=How%20Search%20Engine%20Security%20Testing%20can%20improve%20Website%20Ranking" id="wpa2a_8"><img src="http://www.ivizsecurity.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ivizsecurity.com/blog/penetration-testing/how-search-engine-security-testing-can-improve-website-ranking/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>A Lazy Pen Tester’s Guide to Testing Flash Applications</title>
		<link>http://www.ivizsecurity.com/blog/web-application-security/testing-flash-applications-pen-tester-guide/</link>
		<comments>http://www.ivizsecurity.com/blog/web-application-security/testing-flash-applications-pen-tester-guide/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 19:30:57 +0000</pubDate>
		<dc:creator>Rudra K Sinha Roy</dc:creator>
				<category><![CDATA[Web Application Security]]></category>

		<guid isPermaLink="false">http://www.ivizsecurity.com/blog/?p=121</guid>
		<description><![CDATA[Yesterday, I received a post in the Pen-Test mailing list requesting for tips/resources on penetration testing of flash applications.  While there are some tools and white papers available, I could not find many authoritative resources which wraps the entire spectrum of flash security testing of RIA applications.  So here is an endeavor to detail out [...]]]></description>
			<content:encoded><![CDATA[<p></p><p style="text-align: justify;">Yesterday, I received a post in the Pen-Test mailing list requesting for tips/resources on <a href="http://www.ivizsecurity.com/" target="_blank">penetration testing </a>of flash applications.  While there are some tools and white papers available, I could not find many authoritative resources which wraps the entire spectrum of flash security testing of RIA applications.  So here is an endeavor to detail out the steps of testing.  I will keep this post only to outline the essential steps or points.  Please feel free to recommend additional inclusion of tools and techniques.  The idea is to come up with a comprehensive paper which can be used by pen-testers to test flash based Rich Internet Applications (RIA).</p>
<h2>A short unnecessary introduction on Flash RIA</h2>
<p style="text-align: justify;"><em>Adobe Flash (formerly Macromedia Flash) is a multimedia platform originally acquired by Macromedia and currently developed and distributed by Adobe Systems. Since its introduction in 1996, Flash has become a popular method for adding animation and interactivity to web pages. Flash is commonly used to create animation, advertisements, and various web page Flash components, to integrate video into web pages, and more recently, to develop rich Internet applications. Source: <cite>en.wikipedia.org/wiki/<strong>Adobe</strong>_<strong>Flash</strong></cite></em></p>
<p style="text-align: justify;">Conventionally, RIA developed with Adobe Flash technology consists of a frontend application compiled as an SWF/AIR object to be executed by the Flash Plugin inside the User’s Browser or the AIR Platform installed on the User’s System. This interactive application provides a user Interface to the end-user and in turn communicates with a backend server for its business logic over protocols like HTTP/AMF, HTTP/SOAP, HTTP/REST etc.</p>
<h2>The security angle..</h2>
<p style="text-align: justify;">Similar to any widely used web application and software, a RIA can also be a victim of most common and dangerous security Issues. For example, since most Flash based RIAs are backed by an application for its business logic which in turn uses a database, a Flash based RIA might also be vulnerable to common application vulnerabilities like SQL Injection if user input is not sanitized properly. Quite logical huh?. Attackers can also utilize Flash to execute mass exploitation, for example backdoors or malware entirely written in Flash/ActionScript or BOFs against player/plugin or browser.</p>
<p style="text-align: justify;">It is quite general to deduce that security flaws may also be present in the core environment (which includes the OS and web browsers) that can be exploited regardless of the applications (including Flash Player) running in that environment. A<a rel="nofollow" href="http://www.adobe.com/devnet/flashplayer/articles/flash_player10_security_wp.html" target="_blank"> recent paper</a> from Adobe suggests that the approach of Adobe is to implement robust security within its own products while “doing no harm” to the rest of the environment (in other words, to introduce no exposures to the rest of the environment, nor allow any avenues for additional exploitation of any existing platform security weaknesses). This provides a consistently high level of security for what Flash applications can do (as managed within Flash Player), regardless of the platform. Because Adobe products are also designed to be backwards-compatible when possible, some environments may be more vulnerable to weaknesses in the browser or operating system, or have weaker cryptography capabilities. Ultimately, users are responsible for their choices of platforms and maintenance of appropriate operational environments.</p>
<p>Vulnerabilities in flash RIA can be broadly classified under two categories: <strong>client side</strong> vulnerabilities and <strong>server side</strong> vulnerabilities. Let&#8217;s review each one of these very quickly:</p>
<h2>Client Side Vulnerabilities:</h2>
<p>Amongst the various vulnerabilities that might affect a Flash Application on the client side, some of the most common ones are:</p>
<p style="text-align: justify;"><strong><em>Flash parameter Injection:</em></strong> It might be possible for an attacker can inject global Flash parameters when the movie is embedded in a parent HTML page. These injected parameters can grant the attacker full control over the page DOM, as well as control over other objects within the Flash movie. There is nice detailed paper by the IBM Rational guys on this vulnerability. You can download it <a rel="nofollow" href="http://blog.watchfire.com/FPI.pdf" target="_self">here</a>.</p>
<p style="text-align: justify;"><strong><em>Cross Domain Privilege Escalation:</em></strong> Cross Domain inter-mixing of content and data is done based on access policy defined in crossdomain.xml of the serving domain for the SWF object. If the access policy is too open, then under certain circumstances, it might be possible for an attacker to supersede the original SWF object with his own malicious version or access the DOM of the hosting domain.</p>
<p style="text-align: justify;"><em><strong>Cross Site Scripting:</strong></em> Depending on access policy, a Flash SWF can access its host DOM for various functional use cases. A Flash SWF can in turn modify the DOM of its host and if it does so based on un-sanitized user input, it might be possible to perform a conventional XSS attack on the host DOM.</p>
<p style="text-align: justify;"><em><strong>Cross Site Flashing: </strong></em>Cross Site Flash (XSF) occurs when an SWF objects loads another SWF Object.  This attack could result in XSS or in the modification of the GUI in order to fool a user to insert credentials on a fake flash form.  XSF could be used in the presence of Flash HTML Injection or external SWF files when loadMovie methods are used. OWASP has a testing guide for XSF. Although not comprehensive, still it is a very good point to start. <a rel="nofollow"  href="http://www.owasp.org/index.php/Testing_for_Cross_site_flashing_(OWASP-DV-004)" target="_blank">Read it here</a>.</p>
<h2 style="text-align: justify;">Server Side Vulnerabilities</h2>
<p style="text-align: justify;">Flash Applications seldom makes remote calls to a backend server for various operations like looking up accounts, retrieving additional data and graphics, and performing complex business operations. However, the ability to call remote methods also increases the attack surface exposed by these applications. Flash Applications built with Adobe Flex SDK usually use AMF Objects exchanged over HTTP Protocol as a method of communication. AMF Remoting calls are essentially RPC like calls where the Flash Application is calling a given method defined on the server on a specific AMF Endpoint. An attacker can intercept and tamper the AMF data to compromise the server.</p>
<p>In most of the cases the application server responsible for providing Business Logic to a Flash RIA frontend is a standard web application and can be affected by the very same vulnerabilities as any other web application like as described by the WASC Threat Classification Project.</p>
<h2 style="text-align: justify;">Testing Flash Applications: Objectives and Approach</h2>
<p>A Flash Security Testing exercise for a Flash Based RIA is conducted with the following objectives:</p>
<ul>
<li>Identify the application entry points and test for possible vulnerabilities in the SWF Object itself.</li>
<li>Identify the remote server with which the application might communicate for its business logic requirements.</li>
<li>Identify the protocol with which the SWF Object is communicating with its back-end server. In most of the cases, the protocol will either be SOAP/REST or AMF.</li>
<li>Identify and enumerate all the functionalities exposed by the back-end application.</li>
<li><a href="http://www.ivizsecurity.com/" target="_blank">Penetration Testing</a> of the individual functionalities exposed by the back-end application for standard application security vulnerabilities.</li>
</ul>
<h3><em>Client Side Testing</em></h3>
<p>Client side primarily relates to static analysis of the flash application. The idea of static analysis of a Flash SWF Object is to decompile the SWF file and attempt to do a white box testing approach by looking into the source code of the Flash SWF File. Basic approach to test client side vulnerabilities is :</p>
<ol>
<li>Decompile SWF files into source code (ActionScript) and statically analyzes it to identify security issues such as information disclosure (hard coded).</li>
<li>Audit third party applications without requiring access to the source code.</li>
<li>Common vulnerabilities includes hard coded login credentials, internal IP disclosure, etc.</li>
<li>Apart from analyzing the SWF file, it is also important to analyze the code responsible for generating the HTML file that embeds the SWF object. Under certain circumstances in might be possible to manipulate the FlashVars variable through which SWF inputs can be influenced.</li>
</ol>
<p>There are however automated tools like <a rel="nofollow" href="https://h30406.www3.hp.com/campaigns/2009/wwcampaign/1-5TUVE/index.php?key=swf&amp;jumpid=go/swfscan" target="_blank">HP SWFScan</a> available to do this job upto a certain degree.</p>
<h3><em>Server Side Testing</em></h3>
<p>The best straightforward way to do a server side testing for flash based RIA applications are as follows:</p>
<p>1. <strong>Extract Gateway</strong></p>
<ul>
<li>Load the flash e.g http://foo.com/bar.swf in a browser with service capture/burp proxy/<a rel="nofollow" href="http://www.charlesproxy.com/" target="_blank">charlesproxy</a> running .</li>
<li>Decompile the SWF using <a rel="nofollow" href="http://www.swftools.org/download.html" target="_blank">swfdump</a> and grep the gateway patterns. Also get a list of all the urls in SWFdump.</li>
</ul>
<p>2.  <strong>Enumerate service/methods</strong></p>
<ul>
<li>Try amfphp.DiscoveryService on all gateways using <a rel="nofollow" href="http://code.google.com/p/pinta/" target="_blank">Pinta</a>.</li>
<li>Use Pinta for AMF calling even if the services and methods are manually entered and hence can be helpful in testing remote methods.</li>
<li>If it fails try extracting them using regex from SWFDump using the following regular expression.<br />
Services:</p>
<pre>–"\"([a-zA-Z0-9_]*)\"“ with filter as “service” (conventional)</pre>
<pre>–"destination id=\"([\\w\\d]*)\"“</pre>
</li>
</ul>
<p>3.  <strong>Make AMF calls</strong></p>
<ul>
<li>Use Pinta to call remote methods using different test parameters.</li>
<li>Single quote (SQL injection), neighbor parameters (Direct Object Reference).</li>
</ul>
<p>Testing the backend application once the exposed functionalities are enumerated should be more or less conventional to standard <a href="http://www.ivizsecurity.com/application-penetration.html" target="_blank">web application security testing</a> methodology just that a different protocol (AMF serialized calls in this case) is used for interacting with the server and invoking the functionalities.</p>
<h3><em>Checklist of Vulnerabilities to be tested</em></h3>
<blockquote>
<ul>
<li>Cross Site Scripting</li>
<li>Malicious Data Injection</li>
<li>Insufficient Authorization Restrictions</li>
<li>Secure Transmission</li>
<li>SWF Information Leak</li>
<li>Minimum Stage Size for Anti-ClickJacking</li>
<li>SWF Control Permission</li>
<li>Untrusted SWF in Same Domain</li>
<li>Clickjacking</li>
<li>Privilege Seperation</li>
<li>Cross Domain Policy Audit</li>
<li>Uninitialized Variable Scanning</li>
<li>Remote Method Enumeration</li>
<li>Business Logic Testing</li>
</ul>
</blockquote>
<p>This is a brief guide to testing flash applications. Comments are welcome to make it better and more comprehensive. At the end, we intend to publish a freely available whitepaper to pen testers for testing flash based RIA. Additional sections included in the paper will also carry due credits as received in the comments section below.</p>
<p style="text-align: justify;">
<p style="text-align: justify;">
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ivizsecurity.com%2Fblog%2Fweb-application-security%2Ftesting-flash-applications-pen-tester-guide%2F&amp;title=A%20Lazy%20Pen%20Tester%E2%80%99s%20Guide%20to%20Testing%20Flash%20Applications" id="wpa2a_10"><img src="http://www.ivizsecurity.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ivizsecurity.com/blog/web-application-security/testing-flash-applications-pen-tester-guide/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Is Twitter the new source of Malware?</title>
		<link>http://www.ivizsecurity.com/blog/web-application-security/is-twitter-the-new-source-of-malware/</link>
		<comments>http://www.ivizsecurity.com/blog/web-application-security/is-twitter-the-new-source-of-malware/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 13:36:33 +0000</pubDate>
		<dc:creator>Rudra K Sinha Roy</dc:creator>
				<category><![CDATA[Web Application Security]]></category>

		<guid isPermaLink="false">http://www.ivizsecurity.com/blog/?p=88</guid>
		<description><![CDATA[Ok, I&#8217;m going to keep this one real short. A few days ago I created one Squidoo Lens on the vulnerabilities of facebook and twitter which received good user feedback and comments. Following up on that, here is a summary (as well some new ones) that you may consider to prevent your computers being targeted [...]]]></description>
			<content:encoded><![CDATA[<p></p><p style="text-align: justify;"><span class="drop_cap">O</span>k, I&#8217;m going to keep this one real short. A few days ago I created one Squidoo Lens on the <a rel="nofollow" href="http://www.squidoo.com/facebook_death" target="_blank">vulnerabilities of facebook and twitter</a> which received good user feedback and comments. Following up on that, here is a summary (as well some new ones) that you may consider to prevent your computers being targeted by malware through twitter.  Kaspersky labs deployed a tool named Krawler in August and it has come up with an evidence that alomost 500 URL&#8217;s points to sites with malware. (The number is growing so beware!)</p>
<ol>
<li>Don’t believe blindly that a link is completely safe because it is from someone whom you are following.</li>
<li>Don’t believe blindly Twitter links are not malicious because Twitter is now focusing on <a href="http://www.ivizsecurity.com/greencloud-security.html" target="_blank">website security</a> .</li>
<li>Don’t believe blindly Bit.ly Links are perfectly secure.</li>
<li>Always have your browser updated (because many exploit browser vulnerabilities) and have Windows download all the latest patches as they are released.</li>
<li>Have your Adobe Reader and Adobe Flash always updated.</li>
<li>Don’t just dwell on the assumption that you are secure because you are using a Mac.</li>
<li>Always verify the email messages from social networks. Make sure the message is signed by twitter.</li>
</ol>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ivizsecurity.com%2Fblog%2Fweb-application-security%2Fis-twitter-the-new-source-of-malware%2F&amp;title=Is%20Twitter%20the%20new%20source%20of%20Malware%3F" id="wpa2a_12"><img src="http://www.ivizsecurity.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ivizsecurity.com/blog/web-application-security/is-twitter-the-new-source-of-malware/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How Web Application Security Assessment Can Grow Your Business</title>
		<link>http://www.ivizsecurity.com/blog/web-application-security/how-web-application-security-assessment-can-grow-business/</link>
		<comments>http://www.ivizsecurity.com/blog/web-application-security/how-web-application-security-assessment-can-grow-business/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 12:30:46 +0000</pubDate>
		<dc:creator>Rudra K Sinha Roy</dc:creator>
				<category><![CDATA[Web Application Security]]></category>

		<guid isPermaLink="false">http://www.ivizsecurity.com/blog/?p=40</guid>
		<description><![CDATA[In this day and age, the way we do business has raised the demand for Web application security testing services. Every progressive and successful company nowadays has their own Web site or web application. Since the 1990s, more and more businesses have extended their presence online. The Internet is no longer just a place to [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><span class="drop_cap">I</span>n this day and age, the way we do business has raised the demand for <a href="http://www.ivizsecurity.com/application-penetration.html" target="_blank">Web application security testing</a> services. Every progressive and successful company nowadays has their own Web site or web application.  Since the 1990s, more and more businesses have extended their presence online.  The Internet is no longer just a place to place an online catalog in, but it has expanded to e-commerce and customer relations management.  More and more businesses currently accept and fulfill orders online.  Moreover, an increasing number of businesses have moved their processes into cloud computing. Data and information migrate from physical offices to the Web storage.</p>
<p>This would not have been possible if not for the various Web applications and software that have come out during the past few years. However not all Web application is created equal and not all of them are 100% secure.  This is where Web <a href="http://www.ivizsecurity.com/application-penetration.html" target="_blank">application security assessment</a> comes in.</p>
<h2>Without secure Web applications, all of these processes will fail, leaving you in the dust!</h2>
<p>Web application security testing is a type of <a href="http://www.ivizsecurity.com" target="_blank">penetration testing</a> that scrutinizes the Web applications and client server applications found in a computer system.  Any application that is on the Web or is accessible by people outside of your organization may be tested.</p>
<p>Web application testing typically evaluates and assesses the security measures in your interactive Web sites, which may include applications like extranet services, order forms, contact forms and e-commerce systems.  Web application security testing may also be conducted on the company&#8217;s customer database, especially if this is shared over the Web.</p>
<p>The bottom line is that <a href="http://www.ivizsecurity.com/greencloud-security.html" target="_blank">Web application security</a> is important in conducting business online.  Would you trust your financial data onto some system that you know is not secure?  Your customers would be adamant about having private personal information kept safe too.</p>
<p class="note">There are a lot of <a href="http://www.ivizsecurity.com/about.html" target="_blank">security audit</a> companies that offer Web application security testing services, so a typical company can have their pick on testing providers at a price that they can afford.  Companies could avail of bundled security testing services, or just this particular testing service.  This ensures that you can have the level of security assessment you need and not pay for security testing that you do not need. Read <a href="http://www.ivizsecurity.com/blog/penetration-testing/how-to-choose-penetration-testing-company/">how to choose a penetration testing company</a> to select the best suited company for you.</p>
<h2>Not Just Quality Assessment, you need more than that..</h2>
<p>Do not be lulled by a false sense of security.  If you think that quality assurance is enough guarantee that your applications are secure, you are wrong.  There are processes that even the most thorough quality assurance procedures would not be able to test.  There are procedures in web application security testing that goes beyond quality assurance.  Further, if you think that a network firewall would secure your systems, think again.  There are attacks that even the most popular firewalls can not protect against.</p>
<p>Web application testing should be able to tell you if you have enough security measures in place, and if you have security issues that you should be aware of.  More than this, experienced consultants could peruse thousands of lines of codes and determine vulnerabilities in such a way that automated software can not.</p>
<p>Web <a href="http://www.ivizsecurity.com/application-penetration.html" target="_blank">application security assessment</a> covers a lot of areas.  To be sure, find out what type of application you have and what kind of testing you want to be done on them.  The more prevalent Web application testing areas are on authorization and authentication, account management, meta character stripping, encryption, parameter tampering, session management, hidden field manipulation, script injection attacks, vulnerabilities in forms, buffer overflow checks, forceful browsing, character bounds checks, debugging, and known software vulnerabilities.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ivizsecurity.com%2Fblog%2Fweb-application-security%2Fhow-web-application-security-assessment-can-grow-business%2F&amp;title=How%20Web%20Application%20Security%20Assessment%20Can%20Grow%20Your%20Business" id="wpa2a_14"><img src="http://www.ivizsecurity.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ivizsecurity.com/blog/web-application-security/how-web-application-security-assessment-can-grow-business/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>What You Probably Do Not Know About Application Penetration Testing!</title>
		<link>http://www.ivizsecurity.com/blog/web-application-security/tips-application-penetration-testing/</link>
		<comments>http://www.ivizsecurity.com/blog/web-application-security/tips-application-penetration-testing/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 07:34:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web Application Security]]></category>

		<guid isPermaLink="false">http://www.ivizsecurity.com/blog/?p=18</guid>
		<description><![CDATA[Most companies nowadays put their information on the cloud, not on physical systems. This information could include sensitive customer and client information, processes, insider secrets, research and development. There is an inherent risk that these data and information could be compromised, more so if you use applications both on the Web and internally that have [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><span class="drop_cap">M</span>ost companies nowadays put their information on the cloud, not on physical systems.  This information could include sensitive customer and client information, processes, insider secrets, research and development. There is an inherent risk that these data and information could be compromised, more so if you use applications both on the Web and internally that have vulnerabilities that may be easily exploited.  To be sure that you account for all these vulnerabilities, have your Web programs and software undergo application penetration testing.</p>
<div id="attachment_17" class="wp-caption alignright" style="width: 290px">
	<img class="size-medium wp-image-17" title="Application Security" src="http://www.ivizsecurity.com/blog/wp-content/uploads/2009/08/taint_solutions-290x300.jpg" alt="Application Security Puzzle" width="290" height="300" />
	<p class="wp-caption-text">Application Security Puzzle</p>
</div>
<ol>
<li><a href="http://www.ivizsecurity.com/application-penetration.html" target="_blank">Application penetration testing</a> is a type of penetration test that covers a lot of areas including, but not limited to, client server applications and web applications.  Any application on your system that may be exposed to the public or outside forces and even those that are part of the internal systems in your company or business may undergo application penetration testing.</li>
<li>Application penetration testing often involves auditing and scrutinizing the design of each component, application layers, web services, Web site communications, interfaces and underlying databases.</li>
<li>Moreover this testing looks at the various source codes affecting critical areas in your applications like authentication and validation, database calls, and configuration and set up.  Software used in the company, as well as internal applications may also undergo application penetration testing.</li>
<li>The aim of application testing is to guarantee that the highest security is implemented.  Sometimes what seems to be an insignificant issue in both Web applications and software can turn out to be a troublesome security issue.  Also, these severe security flaws do not fit the traditional functional errors. Routine and simple quality assurance, then, is not enough.  This is because quality assurance procedures often lack the thoroughness that a focused application penetration testing can provide.  There are also other areas in application penetration testing that are absent from quality assurance procedures.</li>
<li>Do not get caught unaware.  Get the peace of mind of knowing and anticipating what vulnerabilities your software, database, processes and Web applications might have.  This way you can plan and manage any untoward incidents involving them.  You can also limit the damage or impact that a hacker would bring.  Much more, you can prevent a hacker from exploiting these weaknesses in your system.  You can also avoid damaging your company&#8217;s reputation and brand, while decreasing down times or incidents when your system is down and inoperable.</li>
</ol>
<p>These types of tests are part of a wider range of network security audits designed to protect your computer systems and by extension, your company.  For one, it ensures the integrity of your systems and keeps your information confidential.  It decreases the likelihood that a hacker attack would succeed.  For some, it could also spell the difference between being in compliance with certain industry or regulatory standards.</p>
<p>There are many <a href="http://www.ivizsecurity.com/about.html" target="_blank">security companies</a> that offer <a href="http://www.ivizsecurity.com/application-penetration.html" target="_blank">application penetration testing</a> either as part of a larger security audit or as a stand alone service.  This will ensure that you can avail of the service any time you need or want it.</p>
<p class="note"><strong>Remember:</strong> Application penetration testing can uncover hidden security bugs, and even weaknesses in &#8220;correct&#8221; application codes and functionality.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ivizsecurity.com%2Fblog%2Fweb-application-security%2Ftips-application-penetration-testing%2F&amp;title=What%20You%20Probably%20Do%20Not%20Know%20About%20Application%20Penetration%20Testing%21" id="wpa2a_16"><img src="http://www.ivizsecurity.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ivizsecurity.com/blog/web-application-security/tips-application-penetration-testing/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

