<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:thr="http://purl.org/syndication/thread/1.0">
    <title>IBM Rational Application Security Insider</title>
    
    <link rel="alternate" type="text/html" href="http://blog.watchfire.com/wfblog/" />
    <id>tag:typepad.com,2003:weblog-1300270</id>
    <updated>2009-06-10T13:53:35+03:00</updated>
    
    <generator uri="http://www.typepad.com/">TypePad</generator>
    <link rel="self" href="http://feeds.feedburner.com/WatchfireApplicationSecurityInsider" type="application/atom+xml" /><entry>
        <title>Windows Desktop Search  Indirect Script Injection</title>
        <link rel="alternate" type="text/html" href="http://blog.watchfire.com/wfblog/2009/06/windows-desktop-search-indirect-script-injection.html" />
        <link rel="replies" type="text/html" href="http://blog.watchfire.com/wfblog/2009/06/windows-desktop-search-indirect-script-injection.html" thr:count="1" thr:updated="2009-07-02T16:40:42+03:00" />
        <id>tag:typepad.com,2003:post-67929509</id>
        <published>2009-06-10T13:53:35+03:00</published>
        <updated>2009-06-15T17:34:26+03:00</updated>
        <summary>Background Windows Desktop Search (WDS) is a popular desktop search tool released by Microsoft. WDS indexes a large variety of files located on the user's computer (as well as network shares, if configured to do so by the user). It...</summary>
        <author>
            <name>Yair Amit</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Research" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Web Application Security" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://blog.watchfire.com/wfblog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;Background&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;Windows Desktop Search&lt;/em&gt; (&lt;em&gt;WDS&lt;/em&gt;) is a popular desktop search tool released by Microsoft. &lt;em&gt;WDS &lt;/em&gt;indexes a large variety of files located on the user's computer (as well as network shares, if configured to do so by the user). It then offers fast searching capabilities over these files. Like some of its competitors, &lt;em&gt;WDS &lt;/em&gt;uses an embedded Internet-Explorer browser component in order to preview the search results to the user.&lt;/p&gt; &lt;p&gt;Browsers embedded within Desktop Applications have been a favorite research topic of mine for some time now, due to the special security-context issues posed by the embedded-browsers.&lt;/p&gt; &lt;p&gt;One of the interesting challenges of trying to attack Desktop Applications that use Embedded Browser components is trying to discover the injection vector – and it usually requires unusual measures to mount a successful script injection attack in such cases.&lt;/p&gt; &lt;p&gt;A while ago I found a way of indirectly injecting JavaScript code into the &lt;em&gt;WDS&lt;/em&gt; embedded-browser&lt;em&gt;.&lt;/em&gt; Because of its security-context, I discovered it was possible to access data on any domain (bypassing the Same Origin Policy) and therefore gather some very interesting data from the attacked box.&lt;/p&gt; &lt;p&gt;A &lt;a href="http://www.microsoft.com/technet/security/Bulletin/MS09-023.mspx"&gt;fix for the attack&lt;/a&gt; described below has been just released by Microsoft. If you use &lt;em&gt;WDS&lt;/em&gt;, it is advisable to install the fix.&lt;/p&gt; &lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;Vulnerability&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;WDS&lt;/em&gt; previews the search results to the user via an embedded-browser. In order to support non-HTML/XML files, &lt;em&gt;WDS&lt;/em&gt; uses converters that transform the files into HTML. As part of this process, potentially hazardous characters are escaped by the converters.&lt;/p&gt; &lt;p&gt;However, it turns out that HTML files do not undergo any sanitation process before being presented. Instead, &lt;em&gt;WDS &lt;/em&gt;simply loads the files into its embedded browser from the local hard-drive.&lt;/p&gt; &lt;p&gt;In accordance with the security settings of the embedded browser, the aforementioned local HTML files are loaded with partial JavaScript execution permissions that require no user-approval.&lt;/p&gt; &lt;p&gt;While the ActiveX implementation of XMLHTTP (&lt;font color="#800000"&gt;&lt;em&gt;e.g. new ActiveXObject("Msxml2.XMLHTTP")&lt;/em&gt;…&lt;/font&gt;) cannot be initiated automatically due to a security restriction, it turns out that the XMLHttpRequest JS object (&lt;em&gt;&lt;font color="#800000"&gt;new XMLHttpRequest()…&lt;/font&gt;&lt;/em&gt;) can be initiated and used without limitations.&lt;/p&gt; &lt;p&gt;What makes this vulnerability particularly interesting is the fact that in this context the &lt;em&gt;XMLHttpRequest&lt;/em&gt; object can freely interact with any domain; sending on the victim's persistent cookies (if there are any). In other words, an attacker exploiting the aforementioned vulnerability can impersonate the victim on sites for which the victim is authenticated. &lt;em&gt;&lt;strong&gt;"Example of a Possible Attack"&lt;/strong&gt;&lt;/em&gt; below shows how sensitive information might be hijacked from a Gmail account.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;Attack Flow &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;ol&gt;&#xD;
  &lt;li&gt;A remote attacker puts a specially crafted HTML file in a directory indexed by &lt;em&gt;WDS&lt;/em&gt;. This phase can be accomplished in either of the following ways:    &lt;ul&gt;&#xD;
    &lt;li&gt;Exploiting a "File Dropping" vulnerability (such as the recent "Carpet-Bombing" vulnerabilities in Safari &amp;amp; Google Chrome).     &lt;ul&gt;&#xD;
      &lt;li&gt; &lt;span style="text-decoration: underline;"&gt;Anecdote:&lt;/span&gt; Due to the security evolution of Google Chrome, up-to-date versions ask for user-approval when an .HTM file download attempt takes place (instead of auto-downloading it, as it used to):  &lt;br&gt;&lt;a href="http://blog.watchfire.com/.a/6a00d835130c5153ef011570ecaf9a970b-pi" target="_blank"&gt;&lt;img alt="chrome_htm_download" border="0" height="42" src="http://blog.watchfire.com/.a/6a00d835130c5153ef011570ecafb3970b-pi" style="border-width: 0px; display: inline;" title="chrome_htm_download" width="320"&gt;&lt;/img&gt;&lt;/a&gt;  &lt;br&gt;However, I discovered that it is still possible to drop MHTML files by causing an automatic download attempt of an *.mht file:        &lt;br&gt;&lt;a href="http://blog.watchfire.com/.a/6a00d835130c5153ef01156ff7e375970c-pi" target="_blank"&gt;&lt;img alt="chrome_mht_download" border="0" height="40" src="http://blog.watchfire.com/.a/6a00d835130c5153ef011570ecafd2970b-pi" style="border-width: 0px; display: inline;" title="chrome_mht_download" width="223"&gt;&lt;/img&gt;&lt;/a&gt;  &lt;/li&gt;&#xD;
     &lt;/ul&gt;&#xD;
    &lt;/li&gt;&#xD;
    &lt;li&gt;Taking advantage of the fact HTML files are presumed by many to be harmless (especially if not even directly loaded by a browser) to mount a social engineering attack. &lt;/li&gt;&#xD;
   &lt;/ul&gt;&#xD;
  &lt;/li&gt;&#xD;
  &lt;li&gt;Let's assume the specially crafted HTML filename is: &lt;strong&gt;&lt;em&gt;mal.html&lt;/em&gt;&lt;/strong&gt;.    &lt;ul&gt;&#xD;
    &lt;li&gt;The file should contain some likely-to-be-queried keywords as well as JavaScript code. (e.g. "&lt;em&gt;Watchfire IBM Microsoft &amp;lt;script&amp;gt;alert(123)&amp;lt;/script&amp;gt;&lt;/em&gt;"). &lt;/li&gt;&#xD;
   &lt;/ul&gt;&#xD;
  &lt;/li&gt;&#xD;
  &lt;li&gt;At that point, &lt;strong&gt;&lt;em&gt;mal.html&lt;/em&gt;&lt;/strong&gt; is already indexed by Windows Desktop Search. &lt;/li&gt;&#xD;
  &lt;li&gt;At some point, the user queries for a word that shows up in &lt;strong&gt;&lt;em&gt;mal.html &lt;/em&gt;(&lt;/strong&gt;"Microsoft", for example) via &lt;em&gt;Windows Desktop Search&lt;/em&gt;. &lt;/li&gt;&#xD;
  &lt;li&gt;Due to the lack of sanitation, when &lt;strong&gt;&lt;em&gt;mal.html&lt;/em&gt;&lt;/strong&gt; is displayed via the preview pane (which is in fact an embedded IE browser) the script within &lt;strong&gt;&lt;em&gt;mal.html&lt;/em&gt;&lt;/strong&gt; is automatically executed. &lt;/li&gt;&#xD;
 &lt;/ol&gt;&#xD;
 &lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="text-decoration: underline;"&gt;NOTES&lt;/span&gt;:&lt;/p&gt; &lt;ul&gt;&#xD;
  &lt;li&gt;If the results pane is ordered by date, it is very likely that &lt;strong&gt;&lt;em&gt;mal.html&lt;/em&gt;&lt;/strong&gt; will be selected automatically, without any user interaction. &lt;/li&gt;&#xD;
  &lt;li&gt;In order to amplify the success rate of the attack, multiple files that contain malicious JavaScript code along with likely-to-be-queried keywords can be dropped to the victim's hard-drive. &lt;/li&gt;&#xD;
 &lt;/ul&gt;&#xD;
 &lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;Example of a Possible Attack&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;In this scenario, our victim has a Google account (&lt;em&gt;an.innocent.user@gmail.com&lt;/em&gt;) with one mail filled with secret passwords in its inbox. &lt;/p&gt; &lt;p&gt;&lt;a href="http://blog.watchfire.com/.a/6a00d835130c5153ef01156ff7e395970c-pi" target="_blank"&gt;&lt;img alt="gmail main page" border="0" height="146" src="http://blog.watchfire.com/.a/6a00d835130c5153ef01156ff7e3ad970c-pi" style="border-width: 0px; display: inline;" title="gmail main page" width="375"&gt;&lt;/img&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Like many users, the victim uses the &lt;em&gt;"Remember me on this computer"&lt;/em&gt; feature, and persistent Google account authentication cookies are therefore stored on his/her system.&lt;/p&gt; &lt;p&gt;At some point, the victim uses &lt;em&gt;WDS &lt;/em&gt;and queries a "poisoned" keyword (in this example, the keyword is "&lt;em&gt;Microsoft&lt;/em&gt;").&lt;/p&gt; &lt;p&gt;&lt;a href="http://blog.watchfire.com/.a/6a00d835130c5153ef011570ecb01a970b-pi" target="_blank"&gt;&lt;img alt="Microsoft Search" border="0" height="144" src="http://blog.watchfire.com/.a/6a00d835130c5153ef011570ecb032970b-pi" style="border-width: 0px; display: inline;" title="Microsoft Search 1" width="394"&gt;&lt;/img&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="text-decoration: underline;"&gt;While the victim views this file via &lt;em&gt;WDS&lt;/em&gt;, the following happens: &lt;/span&gt;  &lt;br&gt;1. An &lt;em&gt;XMLHttpRequest&lt;/em&gt; object is created.   &lt;br&gt;2. Due to the security context of the embedded-browser, a bi-directional connection to Gmail is successfully established (Same-Origin Policy is not enforced).   &lt;br&gt;3. The contents of the inbox page are retrieved (The &lt;em&gt;XMLHttpRequest&lt;/em&gt; object uses the persistent cookies for the &lt;em&gt;an.innocent.user@gmail.com&lt;/em&gt; account).   &lt;br&gt;4. The response is parsed and information about the "Secret Stuff" mail message is presented.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blog.watchfire.com/.a/6a00d835130c5153ef011570ecb048970b-pi" target="_blank"&gt;&lt;img alt="Microsoft Search - gmail content response" border="0" height="67" src="http://blog.watchfire.com/.a/6a00d835130c5153ef011570ecb05e970b-pi" style="border-width: 0px; display: inline;" title="Microsoft Search - gmail content response" width="380"&gt;&lt;/img&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;Final Remarks&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Since various Desktop Search Tools use a mechanism similar to Windows Desktop Search in order to present search results to the user it is very likely that similar vulnerabilities and attack vectors might apply to these products too.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;Acknowledgments&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;I would like to acknowledge and thank Microsoft for the highly professional way in which they had handled this security issue.&lt;/p&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?a=HicdkkMuFbs:-p4iirPczeM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?a=HicdkkMuFbs:-p4iirPczeM:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?a=HicdkkMuFbs:-p4iirPczeM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?i=HicdkkMuFbs:-p4iirPczeM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WatchfireApplicationSecurityInsider/~4/HicdkkMuFbs" height="1" width="1"/&gt;</content>


    </entry>
    <entry>
        <title>Proactive Malware Scanning</title>
        <link rel="alternate" type="text/html" href="http://blog.watchfire.com/wfblog/2009/05/proactive-malware-scanning.html" />
        <link rel="replies" type="text/html" href="http://blog.watchfire.com/wfblog/2009/05/proactive-malware-scanning.html" thr:count="4" thr:updated="2009-06-01T22:53:55+03:00" />
        <id>tag:typepad.com,2003:post-67046073</id>
        <published>2009-05-20T15:58:29+03:00</published>
        <updated>2009-05-20T15:58:29+03:00</updated>
        <summary>I'll start with a short personal angle - I have a friend that works as a freelance web site developer and webmaster. Once in a few weeks he gives me a call, telling me that one of the sites he...</summary>
        <author>
            <name>Ory Segal</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Info Bits" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Web Application Scanners" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Web Application Security" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://blog.watchfire.com/wfblog/">
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;I'll start with a short personal angle - &lt;/p&gt; &lt;p&gt;I have a friend that works as a freelance web site developer and webmaster. Once in a few weeks he gives me a call, telling me that one of the sites he manages seems to be serving malicious JavaScript code to its users. It appears to me that this problem is getting out of hand these days, sites are getting (silently) hacked into, and JavaScript code is injected and later on served to users. &lt;/p&gt; &lt;p&gt;From what I hear and read, &lt;strong&gt;more than 70% of the Malware today is being served or linked from legitimate web sites. &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Take a look at &lt;a href="http://www.informationweek.com/news/internet/security/showArticle.jhtml?articleID=212901775" target="_blank"&gt;this article&lt;/a&gt; from InformationWeek, which was posted in January 2009:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Seventy percent of the top 100 Web sites either hosted malicious content or contained a link designed to redirect site visitors to a malicious &lt;a href="http://www.techweb.com/encyclopedia/defineterm.jhtml?term=Web%20site&amp;amp;x=&amp;amp;y="&gt;Web site&lt;/a&gt; during the second half of 2008&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;The common approach to Malware protection and Malware scanning today, puts the (security) responsibility on the end users (browser protections, A/V, etc.) or the organizations (content filtering gateways, A/V gateways) from which the end users browse the web from. &lt;/p&gt; &lt;p&gt;I think that web site owners should start taking responsibility for the contents they are serving to users, and a simple way to do that, is to constantly monitor or scan your own web application for malicious contents. &lt;/p&gt; &lt;p&gt;About two years ago, I had an interesting thought - if you are already scanning your web application with an automated scanner, that has the capability to perform deep crawling and analysis (using automatic form filling, JavaScript and Flash execution, etc.), why not attempt to locate malicious code that is being served to your web users?!&lt;/p&gt; &lt;p&gt;BTW, malicious code can end up in your application in different ways such as - &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Someone hacked into your application and put it there&lt;/li&gt; &lt;li&gt;You are including web contents (or application code) from a 3rd party. This is oftentimes the case in Web 2.0 scenarios&lt;/li&gt; &lt;li&gt;You pissed off one of your web developers, and they decided to get back at you by infecting your users with Malware&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;Enter Malware Scanner AppScan eXtension&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The Malware Scanner AppScan eXtension helps you verify that your application is not hosting or linking to malware. The extension couples the deep-scanning capabilities of IBM Rational AppScan with ISS X-Force technology that is used to identify malicious content and links.&lt;/p&gt; &lt;p&gt;The Malware Scanner checks these conditions:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Files hosted on your application are malicious or not  &lt;li&gt;Files that are "one click" away from your application are malicious or not  &lt;li&gt;Links on your site lead to malicious domains (malware sites or phishing sites, for example)  &lt;li&gt;Links on your site lead to unwanted content (illegal sites, hate sites, adult content, and so forth). &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The Malware Scanner works in two phases: &lt;ol&gt; &lt;li&gt;It passes all of the visited links through the ISS Virus Prevention System (VPS) engine, to determine whether they are malicious or not. This is similar to browsing every page in your application, including clicking every button and downloading every file, using a machine with updated antivirus software.  &lt;li&gt;It passes all of the links that lead to external domains through the ISS WebFilter SDK. This SDK then fetches the classification of each link (news site, porn site, malware site, illegal site, and so forth), based on the constantly updated online classification database. Links that are deemed malicious or unwanted are flagged for your attention. &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;When something needs to be brought to your attention, a security issue is created in Rational AppScan so that you can benefit from the strength of Rational AppScan results management capabilities, such as creating reports, saving and loading scans, and so forth. &lt;p&gt;You can read more about the Malware Scanner eXtension and download it from our &lt;a href="http://www.ibm.com/developerworks/rational/downloads/08/appscan_malwarescanner/index.html" target="_blank"&gt;eXtensions web site&lt;/a&gt; (you need to have AppScan installed to run it).&lt;/p&gt;&lt;/div&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?a=tW7tga8xBqI:ucSuWz5xSyE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?a=tW7tga8xBqI:ucSuWz5xSyE:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?a=tW7tga8xBqI:ucSuWz5xSyE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?i=tW7tga8xBqI:ucSuWz5xSyE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WatchfireApplicationSecurityInsider/~4/tW7tga8xBqI" height="1" width="1"/&gt;</content>


    </entry>
    <entry>
        <title>WAF Wars</title>
        <link rel="alternate" type="text/html" href="http://blog.watchfire.com/wfblog/2009/05/waf-wars.html" />
        <link rel="replies" type="text/html" href="http://blog.watchfire.com/wfblog/2009/05/waf-wars.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-66753971</id>
        <published>2009-05-14T09:53:54+03:00</published>
        <updated>2009-05-14T09:55:24+03:00</updated>
        <summary>Dark Reading just posted a news article titled "Researchers Hack Web Application Firewalls", here's a short excerpt: A pair of researchers at the OWASP Europe 2009 conference on Wednesday showed how some Web application firewalls (WAFs) are prone to attack....</summary>
        <author>
            <name>Ory Segal</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Info Bits" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Security Wars - A New Hope" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Web Application Security" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://blog.watchfire.com/wfblog/">
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;&lt;a href="http://www.darkreading.com/" target="_blank"&gt;Dark Reading&lt;/a&gt; just posted a news article titled "&lt;a href="http://www.darkreading.com/security/app-security/showArticle.jhtml?articleID=217400819&amp;amp;cid=RSSfeed" target="_blank"&gt;Researchers Hack Web Application Firewalls&lt;/a&gt;", here's a short excerpt:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;A pair of researchers at the &lt;a href="http://www.owasp.org/index.php/OWASP_AppSec_Europe_2009_-Poland#tab=Conference_-%20May_13"&gt;OWASP Europe 2009&lt;/a&gt; conference on Wednesday showed how some Web application firewalls (WAFs) are prone to attack.  &lt;p&gt;Wendel Henrique, a member of SpiderLabs (Trustwave's advanced security team), and Sandro Gauci, founder and CSO for EnableSecurity, also found some WAFs vulnerable to the same types of exploits they are supposed to protect Web apps from, such as cross-site scripting (XSS) attacks. &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&amp;nbsp; &lt;p&gt;Hacking WAFs &lt;a href="http://seclists.org/bugtraq/2001/May/0180.html" target="_blank"&gt;is an old art form&lt;/a&gt;, which I'm glad to see is picking up again. WAFs are extremely delicate pieces of software, which require thorough and precise configuration in order to provide the security they promise. Since the WAF market is finally picking up, I expect to see more security advisories related to vulnerabilities in such products in the near future. &lt;p&gt;I wish the &lt;a href="http://www.webappsec.org/projects/whid/statistics.shtml" target="_blank"&gt;WASC WHID&lt;/a&gt; project would have a listing of web sites that were hacked, even though they had a WAF installed, just so we'll have an insight to the real techniques used to bypass them, although I'm not optimistic about such information being released to the public.&amp;nbsp; &lt;p&gt;&lt;strong&gt;Disclaimer&lt;/strong&gt; - I am a WAF supporter.&amp;nbsp; &lt;p&gt;&amp;nbsp; &lt;p&gt;* until OWASP releases the full presentation online, I think you can get a glimpse of it &lt;a href="http://www.slideshare.net/sandrogauci/troopers09-the-truth-about-web-application-firewalls-what-the-vendors-do-not-want-troopers-09-munich-april-2009-you-to-know" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?a=tET1RrrsZlo:djB8xb_eQ8Q:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?a=tET1RrrsZlo:djB8xb_eQ8Q:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?a=tET1RrrsZlo:djB8xb_eQ8Q:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?i=tET1RrrsZlo:djB8xb_eQ8Q:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WatchfireApplicationSecurityInsider/~4/tET1RrrsZlo" height="1" width="1"/&gt;</content>


    </entry>
    <entry>
        <title>Google Chrome Universal XSS Vulnerability </title>
        <link rel="alternate" type="text/html" href="http://blog.watchfire.com/wfblog/2009/04/google-chrome-universal-xss-vulnerability-.html" />
        <link rel="replies" type="text/html" href="http://blog.watchfire.com/wfblog/2009/04/google-chrome-universal-xss-vulnerability-.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-65963161</id>
        <published>2009-04-24T15:12:23+03:00</published>
        <updated>2009-04-24T15:11:32+03:00</updated>
        <summary>I wanted to wait a bit, but since the fix is out: During unrelated research, I came across a number of security issues that reside in various parts of Google's web browser - Google Chrome. These issues pose a major...</summary>
        <author>
            <name>Roi Saltzman</name>
        </author>
        
        
<content type="html" xml:lang="en-US" xml:base="http://blog.watchfire.com/wfblog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p style="font-family: Arial;"&gt;&lt;em&gt;I wanted to wait a bit, but since the &lt;a href="http://googlechromereleases.blogspot.com/2009/04/stable-update-security-fix.html" target="_blank"&gt;fix&lt;/a&gt;&lt;/em&gt;&lt;em&gt; &lt;/em&gt;&lt;em&gt;is out:&lt;/em&gt;&lt;/p&gt;&lt;p style="font-family: Arial;"&gt;During unrelated research, I came across a number of security issues that reside in various parts of Google's web browser - Google Chrome.&lt;/p&gt;&lt;p style="font-family: Arial;"&gt;These issues pose a major threat to any user that browses a maliciously crafted page using Internet Explorer and has Google Chrome installed alongside.&lt;/p&gt;&lt;p style="font-family: Arial;"&gt;Using a vulnerability in the ChromeHTML URL handler, it is possible to force Google Chrome load arbitrary URIs when it is launched through IE. Combined with other issues, this seemingly harmless vulnerability opens the door to two major attack vectors:&lt;/p&gt;&lt;ul&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Bypass the Same Origin Policy restrictions for any site&lt;/strong&gt; (this has the same impact as Universal XSS) &lt;/li&gt;&#xD;
&lt;li&gt;&lt;strong&gt;Enumerate victim's local files and directories&lt;/strong&gt;&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p style="font-family: Arial;"&gt;A thorough &lt;strong&gt;explanation of the issues, attack vectors and impact can be found in the following &lt;span class="at-xid-6a00d835130c5153ef0115704a74e0970b"&gt;&lt;a href="http://blog.watchfire.com/files/google-chrome-advisory.doc"&gt;advisory&lt;/a&gt;&lt;/span&gt;.&lt;/strong&gt;&lt;/p&gt;&lt;p style="font-family: Arial;"&gt;It is important to note that the way Internet Explorer processes URL&#xD;
protocol handlers is a known Achilles' heel and has been widely used&#xD;
previously to attack other various applications.&lt;strong&gt;&lt;br&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="font-family: Arial;"&gt;&lt;strong&gt;Proof Of Concept:&lt;/strong&gt;&lt;br&gt;A Universal XSS PoC is available &lt;span class="at-xid-6a00d835130c5153ef01156f54503c970c"&gt;&lt;a href="http://blog.watchfire.com/files/gcpoc.html" target="_blank"&gt;here&lt;/a&gt;&lt;/span&gt; (Open with Internet Explorer)&lt;br&gt;File Enumeration PoC is available &lt;span class="at-xid-6a00d835130c5153ef0115704a7bcb970b"&gt;&lt;a href="http://blog.watchfire.com/files/gcenumpoc.html" target="_blank"&gt;here&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt; (Open with Internet Explore)&lt;span style="text-decoration: underline;"&gt;&lt;br&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: Arial;"&gt;&lt;strong&gt;Fix:&lt;/strong&gt;&lt;br&gt;Version &lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;1.0.154.59 of Chrome has been released to fix th&lt;/span&gt;&lt;/span&gt;&lt;span class="at-xid-6a00d835130c5153ef0115704a7bcb970b"&gt;&lt;/span&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;e vulnerability.&lt;br&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: Arial;"&gt;&lt;strong&gt;Acknowledgments:&lt;/strong&gt;&lt;br&gt;I would like to thank the Google Chrome team for their quick response and the highly professional way in which they had handled this security issue.&lt;/p&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?a=_rxsojHhsnY:I6hRZ6_jRks:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?a=_rxsojHhsnY:I6hRZ6_jRks:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?a=_rxsojHhsnY:I6hRZ6_jRks:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?i=_rxsojHhsnY:I6hRZ6_jRks:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WatchfireApplicationSecurityInsider/~4/_rxsojHhsnY" height="1" width="1"/&gt;</content>


    </entry>
    <entry>
        <title>Active Man in the Middle Attacks</title>
        <link rel="alternate" type="text/html" href="http://blog.watchfire.com/wfblog/2009/02/active-man-in-the-middle-attacks.html" />
        <link rel="replies" type="text/html" href="http://blog.watchfire.com/wfblog/2009/02/active-man-in-the-middle-attacks.html" thr:count="2" thr:updated="2009-03-11T11:16:43+02:00" />
        <id>tag:typepad.com,2003:post-63411497</id>
        <published>2009-02-27T10:24:52+02:00</published>
        <updated>2009-02-27T10:24:52+02:00</updated>
        <summary>Adi Sharabani, manager of our own IBM Rational Security Group, gave a keynote presentation on the subject of Active Man in the Middle attacks at the recent OWASP AU conference that was held yesterday. With an Active MitM attack targeting...</summary>
        <author>
            <name>Ory Segal</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Research" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Web Application Security" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://blog.watchfire.com/wfblog/">
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;Adi Sharabani, manager of our own IBM Rational Security Group, gave a keynote presentation on the subject of Active Man in the Middle attacks at the recent &lt;a href="http://www.owasp.org/index.php/OWASP_AU_Conference_2009_Agenda" target="_blank"&gt;OWASP AU conference&lt;/a&gt; that was held yesterday. &lt;p&gt;With an Active MitM attack targeting Web Applications, an attacker can steal users' private data for any site he chooses if his victim uses a public network to read the latest news headlines or weather report on an 'uninteresting' site. In addition, the attack could also be made persistent, even after the victim has left the MitM influence. These attacks are a product of a serious design flaw and not an implementation error or bug. &lt;p&gt;Although MitM attacks against Web Applications have been partially discussed before with similar issues such as "SideJacking" and "Surf Jacking", a comprehensive full research has yet to have been performed. &lt;p&gt;The presentation attached gives an overview of the subject while the paper gives thorough in-depth description of this dangerous category of attacks and proposed remedies.  &lt;p&gt;You can download the presentation in PPT format &lt;a href="http://blog.watchfire.com/AMitM.ppt" target="_blank"&gt;here&lt;/a&gt;, or download the full version of the whitepaper as PDF &lt;a href="http://blog.watchfire.com/AMitM.pdf" target="_blank"&gt;here&lt;/a&gt;. &lt;/div&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?a=NZca-NVeSM8:Kc-_quEf3Uo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?a=NZca-NVeSM8:Kc-_quEf3Uo:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?a=NZca-NVeSM8:Kc-_quEf3Uo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?i=NZca-NVeSM8:Kc-_quEf3Uo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WatchfireApplicationSecurityInsider/~4/NZca-NVeSM8" height="1" width="1"/&gt;</content>


    </entry>
    <entry>
        <title>There's a New AppScan In Town</title>
        <link rel="alternate" type="text/html" href="http://blog.watchfire.com/wfblog/2009/01/theres-a-new-appscan-in-town.html" />
        <link rel="replies" type="text/html" href="http://blog.watchfire.com/wfblog/2009/01/theres-a-new-appscan-in-town.html" thr:count="2" thr:updated="2009-01-14T17:37:45+02:00" />
        <id>tag:typepad.com,2003:post-61322490</id>
        <published>2009-01-14T15:43:16+02:00</published>
        <updated>2009-01-14T15:43:16+02:00</updated>
        <summary>I usually don't tend to blog about our product releases, but yesterday we have launched the official new version of IBM Rational AppScan Standard Edition (version 7.8), which includes some capabilities that I believe are worth blogging about. Here's a...</summary>
        <author>
            <name>Ory Segal</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Info Bits" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Web Application Scanners" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://blog.watchfire.com/wfblog/">&lt;p&gt;I usually don't tend to blog about our product releases, but yesterday we have launched the official new version of &lt;a href="http://www-01.ibm.com/software/awdtools/appscan/standard/" target="_blank"&gt;IBM Rational AppScan Standard Edition&lt;/a&gt; (version 7.8), which includes some capabilities that I believe are worth blogging about. &lt;/p&gt; &lt;p&gt;Here's a short list of the interesting new features and capabilities:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Flash execution &amp;amp; Testing:&lt;/strong&gt; AppScan now automatically crawls Flash applications to reveal web application vulnerabilities, including vulnerabilities unique to Flash such as XSS in Flash, Phishing through Flash (Redirections), Cross Site Flashing, Insecure Direct Object Reference, Over permissive Flash Sandbox, Over permissive crossdomain.xml files&lt;/li&gt; &lt;li&gt;&lt;strong&gt;AMF Parsing &amp;amp; Testing:&lt;/strong&gt; On the same subject of Flash testing, AppScan is now capable of parsing and analyzing AMF communications between Flash applications and their back-end server side application. &lt;/li&gt; &lt;li&gt;&lt;strong&gt;Content-based Application Mapping&lt;/strong&gt;: many modern web applications (especially those designed with the MVC paradigm) make use of a single URL, and serve contents based upon different parameters. In such scenarios, it is irrelevant to report vulnerabilities based on URLs. AppScan 7.8 allows you to create or modify the application tree by defining a criteria by which AppScan will assign content elements to the application tree. This allows for a more clear and real view of the results.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Support for widget-based and Mashup sites:&lt;/strong&gt; The new Content-Based configuration (see previous item) view lets you define the structure of widget-based and Mashup sites and display their structure logically.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;WebSphere Portal support&lt;/strong&gt;: Dedicated template for WebSphere Portal applications incorporating a WebSphere Portal Test Policy and other configurations designed to increase performance and accuracy. The same capability can be adjusted for other Java Portlet based web applications&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Improved Web services support:&lt;/strong&gt; The new GSC utility replaces "Web Services Explorer" (a WSDL analyzer that generates SOAP traffic) to provide improved Web Services scanning, including support for MIME attachments, WS encryption and WS signatures. This means you can now test SOAP Web Services that make use of WS-Security standards.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;IPv6 Support:&lt;/strong&gt; no need to explain&lt;/li&gt; &lt;li&gt;&lt;strong&gt;CVSS-based Severity Reporting &amp;amp; Configuration&lt;/strong&gt;: AppScan is now capable of reporting vulnerability severity using CVSS. In addition, users can modify CVSS settings as they wish, in order to create more accurate reports&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;These are just some of the major improvements and new features in AppScan Standard Edition v7.8&lt;/p&gt; &lt;p&gt;You can download a trial version of AppScan &lt;a href="http://www-01.ibm.com/software/awdtools/appscan/standard/" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;BTW - for those of you who haven't been following our recent product announcements, we also recently shipped &lt;a href="http://www-01.ibm.com/software/awdtools/appscan/developer/" target="_blank"&gt;AppScan Developer Edition&lt;/a&gt;, which includes Static Analysis of JAVA (more languages to follow) applications, in conjunction with Dynamic (Blackbox) and Runtime Analysis. This composite type of analysis, enables developers to get a full view of the vulnerabilities, both from the web front end point of view, as well as at the source code level, in a correlated manner.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?a=5pHj0WAFhOw:YYyB9CsVSnI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?a=5pHj0WAFhOw:YYyB9CsVSnI:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?a=5pHj0WAFhOw:YYyB9CsVSnI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?i=5pHj0WAFhOw:YYyB9CsVSnI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WatchfireApplicationSecurityInsider/~4/5pHj0WAFhOw" height="1" width="1"/&gt;</content>


    </entry>
    <entry>
        <title>Breaking Google Gears' Cross-Origin Communication Model</title>
        <link rel="alternate" type="text/html" href="http://blog.watchfire.com/wfblog/2008/12/breaking-google-gears-cross-origin-communication-model.html" />
        <link rel="replies" type="text/html" href="http://blog.watchfire.com/wfblog/2008/12/breaking-google-gears-cross-origin-communication-model.html" thr:count="1" thr:updated="2009-03-30T11:48:11+03:00" />
        <id>tag:typepad.com,2003:post-59674482</id>
        <published>2008-12-08T20:09:59+02:00</published>
        <updated>2008-12-08T20:09:59+02:00</updated>
        <summary>Background Google Gears is a well-known RIA infrastructure, used extensively by Google in various services such as Google Docs and Google Reader as well as in non-Google services such as MySpace, Zoho Writer and WordPress. Gears is a browser extension...</summary>
        <author>
            <name>Yair Amit</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="AJAX Security" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Research" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Web Application Security" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://blog.watchfire.com/wfblog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;h3&gt;Background &lt;/h3&gt;&#xD;
&lt;p&gt;Google Gears is a well-known RIA infrastructure, used extensively by Google in various services such as &lt;em&gt;Google Docs&lt;/em&gt; and &lt;em&gt;Google Reader&lt;/em&gt; as well as in non-Google services such as &lt;em&gt;MySpace&lt;/em&gt;, &lt;em&gt;Zoho Writer&lt;/em&gt; and &lt;em&gt;WordPress&lt;/em&gt;. &#xD;
&lt;p&gt;Gears is a browser extension that allows developers to create richer and more responsive web-applications. One of its key features is the ability to create web-applications that can run both online and offline transparently.&lt;br&gt;Some of the capabilities Gears introduces are: &#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;A local server, to cache and serve application resources (HTML, JavaScript, images, etc.) without needing to contact a server &#xD;
&lt;li&gt;A database, to store and access data from within the browser &#xD;
&lt;li&gt;A worker thread pool, to make web applications more responsive by performing expensive operations in the background &#xD;
&lt;li&gt;The HttpRequest API, which implements a subset of the &lt;a href="http://www.w3.org/TR/XMLHttpRequest/" target="_blank"&gt;W3C XmlHttpRequest specification&lt;/a&gt; &#xD;
&lt;li&gt;A Geolocation API that enables a web application to obtain a user's geographical position &lt;/li&gt;&#xD;
&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/ul&gt;&#xD;
&lt;p&gt;(&lt;em&gt;The descriptions above are taken from the Google Gears documentation&lt;/em&gt;)&lt;/p&gt;&#xD;
&lt;p&gt;In my opinion, one of the nicest things in Gears is the way it is utilized. This is done by inserting JavaScript calls to Gears' API within the HTML code of the web-application. Therefore, unlike some of its alternatives, Gears can be integrated into existing web-applications easily and fluently. &#xD;
&lt;p&gt;For a full explanation and usage examples of Google Gears, you are invited to enter the &lt;a href="http://code.google.com/apis/gears/design.html" target="_blank"&gt;Getting Started&lt;/a&gt; section in the Google Gears website. &#xD;
&lt;p&gt;Like other RIA infrastructures, Google Gears offer developers cross-origin communication capabilities. These capabilities are very important to developers, as they make it much easier to implement mashups and other desirable features. &#xD;
&lt;p&gt;Security-wise, however, cross-origin communication has some downsides. A poor or careless implementation might allow attackers to break-out of the same-origin policy and mount large scale user-impersonation attacks. The ramifications of such a flaw can be disastrous. &#xD;
&lt;p&gt;A few months ago, I discovered that the cross-origin communication security model of Google Gears wasn't solid enough, and that under some circumstances it could be bypassed pretty easily. &lt;br&gt;After coordinating a fix with Google, I can now reveal the details. &#xD;
&lt;p&gt;&#xD;
&lt;h3&gt;Gears' Cross-Origin communication implementation&lt;/h3&gt;&#xD;
&lt;p&gt;Let's assume that we are web-developers and that we have a web page located at &lt;em&gt;http://Some.Site/&lt;/em&gt; that needs to gather information from a user-authenticated session at &lt;em&gt;http://Another.Site/&lt;/em&gt;.&lt;br&gt;This can be done by using Google Gears' &lt;a href="http://code.google.com/apis/gears/api_workerpool.html" target="_blank"&gt;WorkerPool API&lt;/a&gt;. All you have to do is load a Google Gears "worker" (JavaScript code with access to Google Gears capabilities such as Local Server, Http communication and Database) using the &lt;em&gt;createWorkerFromUrl(scriptUrl)&lt;/em&gt; method. &lt;br&gt;Google Gears "workers" that are intended to be loaded from a remote origin must begin with a call to &lt;em&gt;allowCrossOrigin()&lt;/em&gt;. This serves as a security measure against unauthorized remote loading of "workers". &#xD;
&lt;p&gt;&lt;em&gt;If a worker was created from a different origin, all methods on &lt;/em&gt;&lt;code&gt;&lt;em&gt;google.gears.factory&lt;/em&gt;&lt;/code&gt;&lt;em&gt; will fail in that worker until &lt;/em&gt;&lt;code&gt;&lt;em&gt;allowCrossOrigin()&lt;/em&gt;&lt;/code&gt;&lt;em&gt; is called. &lt;/em&gt;&lt;br&gt;&lt;em&gt;This prevents cross-site scripting attacks where the attacker could load a worker URL from another domain, then send malicious messages to that worker (e.g. "delete-all-data"). &lt;/em&gt;&lt;br&gt;&lt;em&gt;Workers that call &lt;/em&gt;&lt;code&gt;&lt;em&gt;allowCrossOrigin()&lt;/em&gt;&lt;/code&gt;&lt;em&gt; should check &lt;/em&gt;&lt;code&gt;&lt;em&gt;messageObject.origin&lt;/em&gt;&lt;/code&gt;&lt;em&gt; and ignore messages from unexpected origins. &lt;/em&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Here's an excerpt from Google Gears' documentation: &lt;/em&gt;&lt;/strong&gt;&lt;strong&gt;&lt;em&gt;&lt;br&gt;&lt;/em&gt;&lt;/strong&gt;&#xD;
&lt;p&gt;&lt;span style="TEXT-DECORATION: underline"&gt;&lt;/span&gt;&#xD;
&lt;blockquote&gt;&#xD;
&lt;p&gt;&lt;em&gt;If a worker was created from a different origin, all methods on &lt;/em&gt;&lt;code&gt;&lt;em&gt;google.gears.factory&lt;/em&gt;&lt;/code&gt;&lt;em&gt; will fail in that worker until &lt;/em&gt;&lt;code&gt;&lt;em&gt;allowCrossOrigin()&lt;/em&gt;&lt;/code&gt;&lt;em&gt; is called. &lt;/em&gt;&lt;br&gt;&lt;em&gt;This prevents cross-site scripting attacks where the attacker could load a worker URL from another domain, then send malicious messages to that worker (e.g. "delete-all-data"). &lt;/em&gt;&lt;br&gt;&lt;em&gt;Workers that call &lt;/em&gt;&lt;code&gt;&lt;em&gt;allowCrossOrigin()&lt;/em&gt;&lt;/code&gt;&lt;em&gt; should check &lt;/em&gt;&lt;code&gt;&lt;em&gt;messageObject.origin&lt;/em&gt;&lt;/code&gt;&lt;em&gt; and ignore messages from unexpected origins. &lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&#xD;
&lt;h3&gt;&lt;strong&gt;The Problem&lt;/strong&gt; &lt;/h3&gt;&#xD;
&lt;p&gt;At first sight, this protection seems to be solid.&lt;br&gt;&lt;br&gt;However, after playing around with the infrastructure, I found that the Google Gears workers' loader has a rather promiscuous policy: it disregards the headers of the Gears worker files it loads! &lt;br&gt;That fact opens an aperture for malicious attacks. It significantly broadens the options an attacker has for planting malicious Gears worker code in a target website. For example, it is possible to upload files with an image suffix that actually contain Gears Worker code instead. Later on, such a file might be loaded from the context of other domains by a Google Gears Worker loader, despite the fact that it is served as an image file by the web-server! &lt;/p&gt;&#xD;
&lt;p&gt;It follows that the security of websites that contain users' content (forums, web-mails, social networks, office-like services, etc.) might be circumvented and damaged due to this behavior. During my research, I verified that various well-known services are indeed susceptible to the attack described in this summary. &#xD;
&lt;p&gt;Furthermore, the fact that the Gears worker code doesn't contain concrete "dangerous" characters might actually make it harder for websites to defend against Google Gears-based cross-origin access attacks such as the one described below. &#xD;
&lt;p&gt;&#xD;
&lt;p&gt;&lt;em&gt;An example of Google Gears worker code:&lt;/em&gt; &lt;br&gt;&lt;br&gt;&#xD;
&lt;div class="csharpcode"&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;var&lt;/span&gt; wp = google.gears.workerPool;&#xD;
&#xD;
wp.allowCrossOrigin();&#xD;
&#xD;
&#xD;
&#xD;
wp.onmessage = &lt;span class="kwrd"&gt;function&lt;/span&gt;(a, b, message) {&#xD;
&#xD;
  &lt;span class="kwrd"&gt;var&lt;/span&gt; request = google.gears.factory.create(&lt;span class="str"&gt;'beta.httprequest'&lt;/span&gt;);&#xD;
&#xD;
  request.open(&lt;span class="str"&gt;'GET'&lt;/span&gt;, &lt;span class="str"&gt;'http://TARGET.SITE/SENSITIVE_PAGE.htm'&lt;/span&gt;);&#xD;
&#xD;
&#xD;
&#xD;
   request.onreadystatechange = &lt;span class="kwrd"&gt;function&lt;/span&gt;() {&#xD;
&#xD;
     &lt;span class="kwrd"&gt;if&lt;/span&gt; (request.readyState == 4) {&#xD;
&#xD;
&#xD;
&#xD;
     wp.sendMessage(&lt;span class="str"&gt;"The response was: "&lt;/span&gt; + &#xD;
&#xD;
     request.responseText, message.sender);&#xD;
&#xD;
&#xD;
&#xD;
     }&#xD;
&#xD;
   };&#xD;
&#xD;
&#xD;
&#xD;
request.send();&#xD;
&#xD;
}&lt;/pre&gt;&#xD;
&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;The script above grabs information from &lt;em&gt;http://TARGET.SITE&lt;/em&gt; and then leaks it back to its remote caller using Google Gears' built in messaging API.&lt;span style="TEXT-DECORATION: underline"&gt;&lt;/span&gt; &#xD;
&lt;h3&gt;Flow of Attack &lt;/h3&gt;&#xD;
&lt;ol&gt;&#xD;
&lt;li&gt;Attacker creates a text file that contains (malicious) Google Gears commands (Accessing the DB, using the HttpRequest module, etc.). &#xD;
&lt;li&gt;Attacker finds a way to put the text content into a target domain (&lt;em&gt;http://TARGET.SITE/Upload/innocent.jpg&lt;/em&gt;, for example). The Gears "worker" code does not contain suspicious characters (&amp;lt;,&amp;gt;, etc...), it is therefore less likely to be filtered by &lt;em&gt;http://TARGET.SITE&lt;/em&gt;'s server-side logic. &#xD;
&lt;li&gt;Attacker creates &lt;em&gt;http://ATTACKER.SITE/attack.html&lt;/em&gt; which contains some Google Gears code that loads and executes &lt;em&gt;http://TARGET.SITE/Upload/innocent.jpg&lt;/em&gt;. &#xD;
&lt;li&gt;The code embedded in &lt;em&gt;innocent.jpg&lt;/em&gt; (in this example) runs in the context of &lt;em&gt;http://TARGET.SITE&lt;/em&gt;. It therefore has permissions to access Google Gears client-side objects such as the DB, the local server data or web resources (with the victim's credentials) using the HttpRequest module built into Google Gears. &#xD;
&lt;li&gt;All information collected in the previous phase can easily be leaked back to &lt;em&gt;http://ATTACKER.SITE&lt;/em&gt; using Google Gears' standard messaging mechanism. &lt;/li&gt;&#xD;
&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/ol&gt;&#xD;
&lt;p&gt;&lt;em&gt;&lt;span style="TEXT-DECORATION: underline"&gt;Note&lt;/span&gt;:&lt;br&gt;&lt;/em&gt;While &lt;em&gt;http://ATTACKER.SITE&lt;/em&gt; has to be approved for using Google-Gears, &lt;em&gt;http://TARGET.SITE&lt;/em&gt; can be any site that hosts user-created content, even if it doesn't use Google-Gears at all.&lt;/p&gt;&#xD;
&lt;h3&gt;&lt;strong&gt;The Fix&lt;/strong&gt; &lt;/h3&gt;&#xD;
&lt;p&gt;Following my reporting to Google of the aforementioned flaw and attack, a patched version of Google Gears was released. The fix is based on a special Google-Gears Content-Type header value (&lt;em&gt;application/x-gears-worker&lt;/em&gt;) that must be sent by the web-server when it serves Google-Gears worker code files. Without that value the loading of such worker files is denied. &#xD;
&lt;p&gt;While this looks like a great solution, it suffers from a slight backward-compatibility issue. Web-developers who rely on Google Gears should be aware that the fix might require some changes, such as creating a special rule in the web-server for serving Google-Gears worker code files. &#xD;
&lt;p&gt;For more information about the new security restriction described above, please visit the &lt;a href="http://code.google.com/apis/gears/upcoming/api_workerpool.html#cross_origin" target="_blank"&gt;Google-Gears cross-origin workers documentation&lt;/a&gt;. &#xD;
&lt;h3&gt;&lt;strong&gt;Acknowledgments:&lt;/strong&gt; &lt;/h3&gt;&#xD;
&lt;p&gt;I would like to thank the Google Gears security team for their quick responses and the efficient way in which they handled this security issue.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?a=By2FAyuzX3A:A2NEKeEPM_0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?a=By2FAyuzX3A:A2NEKeEPM_0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?a=By2FAyuzX3A:A2NEKeEPM_0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?i=By2FAyuzX3A:A2NEKeEPM_0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WatchfireApplicationSecurityInsider/~4/By2FAyuzX3A" height="1" width="1"/&gt;</content>


    </entry>
    <entry>
        <title>Flash Parameter Injection</title>
        <link rel="alternate" type="text/html" href="http://blog.watchfire.com/wfblog/2008/10/flash-parameter.html" />
        <link rel="replies" type="text/html" href="http://blog.watchfire.com/wfblog/2008/10/flash-parameter.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-56434129</id>
        <published>2008-10-02T15:55:14+03:00</published>
        <updated>2008-10-02T15:55:14+03:00</updated>
        <summary>During the recent OWASP NYC AppSec conference, Adi Sharabani &amp; Ayal Yogev, both from the IBM Rational application security research group, gave a presentation on the subject of Flash security, and revealed the details of a new Flash related attack...</summary>
        <author>
            <name>Ory Segal</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Info Bits" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Research" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Web Application Security" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://blog.watchfire.com/wfblog/">&lt;p&gt;During the recent &lt;a href="http://www.owasp.org/index.php/OWASP_NYC_AppSec_2008_Conference" target="_blank"&gt;OWASP NYC AppSec&lt;/a&gt; conference, Adi Sharabani &amp;amp; Ayal Yogev, both from the IBM Rational application security research group, gave a presentation on the subject of Flash security, and revealed the details of a new Flash related attack vector called Flash Parameter Injection (FPI).&lt;/p&gt; &lt;p&gt;You can find more information on FPI in the following 2 links:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;&lt;a href="http://blog.watchfire.com/FPI.ppt" target="_blank"&gt;Flash Parameter Injection - OWASP Presentation&lt;/a&gt;&lt;/strong&gt; (be sure to view in full screen, as this presentation contains some nifty animations)&lt;/li&gt; &lt;li&gt;&lt;strong&gt;&lt;a href="http://blog.watchfire.com/FPI.pdf" target="_blank"&gt;Flash Parameter Injection - Advisory / Whitepaper&lt;/a&gt; &lt;/strong&gt;(PDF format)&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;It appears that the world of Flash &amp;amp; Flex web application security is still in its infancy, but you can rest assured that our team will continue to research new vulnerabilities and develop new technique to combat/detect them. So...&lt;strong&gt;stay tuned for new developments from IBM Rational application security&lt;/strong&gt;.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?a=3ZJc831SPHI:0Kjn8Awzspw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?a=3ZJc831SPHI:0Kjn8Awzspw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?a=3ZJc831SPHI:0Kjn8Awzspw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?i=3ZJc831SPHI:0Kjn8Awzspw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WatchfireApplicationSecurityInsider/~4/3ZJc831SPHI" height="1" width="1"/&gt;</content>


    </entry>
    <entry>
        <title>Winamp NowPlaying Unspecified Vulnerability: The Details</title>
        <link rel="alternate" type="text/html" href="http://blog.watchfire.com/wfblog/2008/09/winamp-nowplayi.html" />
        <link rel="replies" type="text/html" href="http://blog.watchfire.com/wfblog/2008/09/winamp-nowplayi.html" thr:count="2" thr:updated="2008-09-28T16:15:30+03:00" />
        <id>tag:typepad.com,2003:post-55970040</id>
        <published>2008-09-22T17:05:41+03:00</published>
        <updated>2008-09-22T17:05:41+03:00</updated>
        <summary>Hey, Since no information has yet been published about a vulnerability I recently discovered in Winamp, and the issue has raised some interest, here are the details. Recently, while listening to some music via Winamp (my favorite media player), I...</summary>
        <author>
            <name>Yair Amit</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Research" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Web Application Security" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://blog.watchfire.com/wfblog/">
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;Hey, &lt;/p&gt;

&lt;p&gt;Since no information has yet been published about a vulnerability I recently discovered in Winamp, and the issue has raised some interest, here are the details. &lt;/p&gt;

&lt;p&gt;Recently, while listening to some music via Winamp (my favorite media player), I recalled an old &lt;a href="http://security.lss.hr/en/index.php?page=details&amp;amp;ID=LSS-2005-07-14"&gt;Winamp Buffer-Overflow&lt;/a&gt; vulnerability found by &lt;em&gt;Leon Juranic&lt;/em&gt; in 2005. &lt;br /&gt;Leon found that since Winamp didn't expect long inputs in mp3 id3 tags, a buffer-overflow attack was possible by playing specially crafted mp3 files with lengthy tags. &lt;/p&gt;

&lt;p&gt;Knowing that Winamp uses an embedded browser in various places, I decided to take a closer look at it and see what could be done... ;)&lt;br /&gt;My aim was to inject JavaScript into the context of the embedded browser, and examine the ramifications. I suspected that the mp3 id3 tags might be a good place to start, and therefore concentrated on the &amp;quot;Now Playing&amp;quot; feature. &lt;/p&gt;

&lt;p&gt;Winamp's &amp;quot;Now Playing&amp;quot; feature uses an embedded browser to present information about the currently played media file. When the user plays a media file, some of the file's metadata is embedded into the HTML that the embedded-browser displays. &lt;/p&gt;

&lt;p&gt;It turned out that if the metadata (id3 tags) of the mp3 file contained a JavaScript payload, Winamp failed to sanitize it and therefore injected it intact into the embedded browser – a feasible XSS exploitation scenario. &lt;/p&gt;

&lt;p align="center"&gt;&lt;a href="http://blog.watchfire.com/wfblog/WindowsLiveWriter/Songs%20Dir.jpg"&gt;&lt;img height="175" alt="Songs Dir" src="http://blog.watchfire.com/wfblog/WindowsLiveWriter/Songs%20Dir_thumb.jpg" width="244" border="0" style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;strong&gt;A (seemingly) normal mp3 file.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.watchfire.com/wfblog/WindowsLiveWriter/InWinamp1.jpg"&gt;&lt;img height="174" alt="InWinamp1" src="http://blog.watchfire.com/wfblog/WindowsLiveWriter/InWinamp1_thumb.jpg" width="376" border="0" style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" /&gt;&lt;/a&gt; &lt;br /&gt;Adding &amp;quot;A song.mp3&amp;quot; to Winamp's playlist&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.watchfire.com/wfblog/WindowsLiveWriter/InWinampXSS.jpg"&gt;&lt;img height="173" alt="InWinampXSS" src="http://blog.watchfire.com/wfblog/WindowsLiveWriter/InWinampXSS_thumb.jpg" width="376" border="0" style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" /&gt;&lt;/a&gt; &lt;br /&gt;Playing the poisoned mp3 file...&lt;br /&gt;Attacker-controlled JavaScript code is executed.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Furthermore, due to the integration between the embedded browser and the Winamp application, this script injection vulnerability has some unique characteristics. &lt;/p&gt;

&lt;p&gt;In many cases, Desktop applications that utilize IE embedded browsers render the HTML content in a highly privileged zone called &amp;quot;My Computer Zone&amp;quot;. This zone allows the programmer to perform a wide range of actions on the computer and thereby to &amp;quot;interact&amp;quot; with the hosting application. The downside of this (fairly common) approach is that if the application is susceptible to XSS, a malicious attacker might be able to exploit it and gain full system control over the victim's system. (&lt;a href="http://aviv.raffon.net/"&gt;&lt;em&gt;Aviv Raff&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;did some great work in this field, &amp;quot;&lt;a href="http://aviv.raffon.net/2008/01/17/SkypeCrosszoneScriptingVulnerability.aspx"&gt;Skype cross-zone scripting vulnerability&lt;/a&gt;&amp;quot; being a well-known example.) &lt;/p&gt;

&lt;p&gt;Winamp's programmers were probably aware to this security threat and therefore chose a different approach. Instead of creating and loading a local file that contains all the relevant data (e.g. data about the song retrieved from the Internet and data originated from the id3 tags of the mp3 file) in a privileged security zone, Winamp loads the embedded browser with a page located in &lt;a href="http://client.winamp.com/"&gt;http://client.winamp.com&lt;/a&gt; (Internet URL - non-privileged zone). &lt;/p&gt;

&lt;p&gt;At first glance, this seems to make an XSS attack innoxious, because of Same Origin policy. However, in order to implement the required interaction between the Winamp application and its embedded browser, a bridge from the browser to Winamp was created in the form of &lt;a href="http://msdn.microsoft.com/en-us/library/ms535246(VS.85).aspx"&gt;window.external&lt;/a&gt;. That means that JavaScript code (which is attacker-controlled due to the XSS vulnerability I found) could trigger various internal functionalities of Winamp which were not intended to be invoked by a remote attacker. &lt;/p&gt;

&lt;p&gt;The attack could then be taken one step ahead, by trying to identify functions that are susceptible to memory-based attacks or logical attacks (Reading/Writing of information from/to the victim's host and even gaining full system control in the form of executing commands). &lt;/p&gt;

&lt;p&gt;Since the attack is almost undetectable (the malicious JavaScript within the id3 tags can be padded with white spaces and therefore rendered invisible to the Winamp user when the malicious mp3 file is played), such a poisoned file could be easily distributed via P2P networks, resulting in a large-scale (and possibly silent) attack against Winamp users. &lt;/p&gt;

&lt;p align="center"&gt;&lt;a href="http://blog.watchfire.com/wfblog/WindowsLiveWriter/ID3Tags.jpg"&gt;&lt;img height="165" alt="ID3Tags" src="http://blog.watchfire.com/wfblog/WindowsLiveWriter/ID3Tags_thumb.jpg" width="376" border="0" style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;strong&gt;The id3 tags editor of Winamp doesn't give indication for the attack (due to white spaces padding)...&lt;/strong&gt; &lt;/p&gt;

&lt;p align="center"&gt;&lt;a href="http://blog.watchfire.com/wfblog/WindowsLiveWriter/Id3TagsEnd.jpg"&gt;&lt;img height="167" alt="Id3TagsEnd" src="http://blog.watchfire.com/wfblog/WindowsLiveWriter/Id3TagsEnd_thumb.jpg" width="376" border="0" style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;strong&gt;Going to the end of the Artist text box reveals the (potentially malicious) JavaScript code&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Acknowledgments:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;I would like to thank Winamp's team for their quick responses and the efficient way in which they handled this security issue.&lt;/p&gt;&lt;/div&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?a=-P1FNT1Bc5Q:dXpPfCzBitY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?a=-P1FNT1Bc5Q:dXpPfCzBitY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?a=-P1FNT1Bc5Q:dXpPfCzBitY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?i=-P1FNT1Bc5Q:dXpPfCzBitY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WatchfireApplicationSecurityInsider/~4/-P1FNT1Bc5Q" height="1" width="1"/&gt;</content>


    </entry>
    <entry>
        <title>Automated Crawling  Security Testing of Flash/Flex Web Applications</title>
        <link rel="alternate" type="text/html" href="http://blog.watchfire.com/wfblog/2008/09/automated-crawl.html" />
        <link rel="replies" type="text/html" href="http://blog.watchfire.com/wfblog/2008/09/automated-crawl.html" thr:count="4" thr:updated="2008-10-07T11:49:53+03:00" />
        <id>tag:typepad.com,2003:post-55788962</id>
        <published>2008-09-18T10:30:39+03:00</published>
        <updated>2008-09-18T10:30:39+03:00</updated>
        <summary>Ronen Bachar, from our own IBM Rational AppScan team, gave a presentation on the (*hot*) subject of automated Flash/Flex application security testing, at the recent OWASP IL conference that was held last week (I have a strange feeling of a...</summary>
        <author>
            <name>Ory Segal</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Research" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Web Application Scanners" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Web Application Security" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://blog.watchfire.com/wfblog/">
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;Ronen Bachar, from our own IBM Rational AppScan team, gave a presentation on the (*hot*) subject of automated Flash/Flex application security testing, at the recent &lt;a href="https://www.owasp.org/index.php/OWASP_Israel_2008_Conference#Agenda" target="_blank"&gt;OWASP IL conference&lt;/a&gt; that was held last week (I have a strange feeling of a Deja-Vu). &lt;/p&gt; &lt;p&gt;The presentation gives a high level overview of Flash, Flex and the AMF protocol, and dives into some gory details (although some gore is missing from the online presentation) regarding the challenges and possible approaches for performing automated crawling and security testing of web applications that were built using these technologies.&lt;/p&gt; &lt;object id="player" height="402" width="481" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"&gt;&lt;param name="_cx" value="12726"&gt;&lt;param name="_cy" value="10636"&gt;&lt;param name="FlashVars" value=""&gt;&lt;param name="Movie" value="http://www.authorstream.com/player.swf?p=orysegal-88819-owasp-il-flash-flex-automated-testing-web-application-security-2008-ronen-bachar-ria-science-technology-ppt-powerpoint"&gt;&lt;param name="Src" value="http://www.authorstream.com/player.swf?p=orysegal-88819-owasp-il-flash-flex-automated-testing-web-application-security-2008-ronen-bachar-ria-science-technology-ppt-powerpoint"&gt;&lt;param name="WMode" value="Window"&gt;&lt;param name="Play" value="0"&gt;&lt;param name="Loop" value="-1"&gt;&lt;param name="Quality" value="High"&gt;&lt;param name="SAlign" value=""&gt;&lt;param name="Menu" value="0"&gt;&lt;param name="Base" value=""&gt;&lt;param name="AllowScriptAccess" value="always"&gt;&lt;param name="Scale" value="ShowAll"&gt;&lt;param name="DeviceFont" value="0"&gt;&lt;param name="EmbedMovie" value="0"&gt;&lt;param name="BGColor" value=""&gt;&lt;param name="SWRemote" value=""&gt;&lt;param name="MovieData" value=""&gt;&lt;param name="SeamlessTabbing" value="1"&gt;&lt;param name="Profile" value="0"&gt;&lt;param name="ProfileAddress" value=""&gt;&lt;param name="ProfilePort" value="0"&gt;&lt;param name="AllowNetworking" value="all"&gt;&lt;param name="AllowFullScreen" value="true"&gt; &lt;embed src="http://www.authorstream.com/player.swf?p=orysegal-88819-owasp-il-flash-flex-automated-testing-web-application-security-2008-ronen-bachar-ria-science-technology-ppt-powerpoint" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="481" height="402"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;And while we're on the subject of Adobe Flash &amp;amp; Flex web applications - if you happen to be in New York next week for the &lt;a href="http://www.owasp.org/index.php/OWASP_NYC_AppSec_2008_Conference" target="_blank"&gt;OWASP AppSec conference&lt;/a&gt;, be sure to attend another presentation by our team (Adi Sharabani &amp;amp; Ayal Yogev), on the subject of Flash Parameter Injection.&lt;/p&gt;&lt;/div&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?a=PB0b_vMEiXc:dfZqZAwi4AE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?a=PB0b_vMEiXc:dfZqZAwi4AE:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?a=PB0b_vMEiXc:dfZqZAwi4AE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/WatchfireApplicationSecurityInsider?i=PB0b_vMEiXc:dfZqZAwi4AE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/WatchfireApplicationSecurityInsider/~4/PB0b_vMEiXc" height="1" width="1"/&gt;</content>


    </entry>
 
</feed><!-- ph=1 --><!-- nhm:dynamic-ssi -->
