<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Firefox history DOS attack</title>
	<atom:link href="http://www.thespanner.co.uk/2007/11/14/firefox-history-dos-attack/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thespanner.co.uk/2007/11/14/firefox-history-dos-attack/</link>
	<description>A tool for designers dealing with programmers dealing with designers...</description>
	<pubDate>Fri, 10 Sep 2010 16:26:34 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
		<item>
		<title>By: Jesse Ruderman</title>
		<link>http://www.thespanner.co.uk/2007/11/14/firefox-history-dos-attack/#comment-858</link>
		<dc:creator>Jesse Ruderman</dc:creator>
		<pubDate>Sun, 18 Nov 2007 07:31:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.thespanner.co.uk/2007/11/14/firefox-history-dos-attack/#comment-858</guid>
		<description>Jophn, I'd start by reading old bugs in bugzilla.mozilla.org about JavaScript recursion limits, and then using those bug reports to find the relevant source code.  Once you understand how they work, you might have enough information to fix the bug, or you might not -- it might require knowledge of XBL or something.  I don't know, I'm more a tester than a Gecko developer ;)</description>
		<content:encoded><![CDATA[<p>Jophn, I&#8217;d start by reading old bugs in bugzilla.mozilla.org about JavaScript recursion limits, and then using those bug reports to find the relevant source code.  Once you understand how they work, you might have enough information to fix the bug, or you might not &#8212; it might require knowledge of XBL or something.  I don&#8217;t know, I&#8217;m more a tester than a Gecko developer <img src='http://www.thespanner.co.uk/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jophn Deo</title>
		<link>http://www.thespanner.co.uk/2007/11/14/firefox-history-dos-attack/#comment-857</link>
		<dc:creator>Jophn Deo</dc:creator>
		<pubDate>Sat, 17 Nov 2007 18:08:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.thespanner.co.uk/2007/11/14/firefox-history-dos-attack/#comment-857</guid>
		<description>Does anyone have a study hint in order to fully appreciate the technical implications?</description>
		<content:encoded><![CDATA[<p>Does anyone have a study hint in order to fully appreciate the technical implications?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gareth Heyes</title>
		<link>http://www.thespanner.co.uk/2007/11/14/firefox-history-dos-attack/#comment-841</link>
		<dc:creator>Gareth Heyes</dc:creator>
		<pubDate>Fri, 16 Nov 2007 09:13:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.thespanner.co.uk/2007/11/14/firefox-history-dos-attack/#comment-841</guid>
		<description>Hey Jesse

No problem! Yeah I figured it would work on any object but the history one was the one I was testing at the time.</description>
		<content:encoded><![CDATA[<p>Hey Jesse</p>
<p>No problem! Yeah I figured it would work on any object but the history one was the one I was testing at the time.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jesse Ruderman</title>
		<link>http://www.thespanner.co.uk/2007/11/14/firefox-history-dos-attack/#comment-840</link>
		<dc:creator>Jesse Ruderman</dc:creator>
		<pubDate>Fri, 16 Nov 2007 07:58:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.thespanner.co.uk/2007/11/14/firefox-history-dos-attack/#comment-840</guid>
		<description>Thanks for discovering and reporting this clever way to confuse Firefox with recursion.  I've filed https://bugzilla.mozilla.org/show_bug.cgi?id=403999 with a clearer testcase -- you can use any object, even ({}), in place of the history object.</description>
		<content:encoded><![CDATA[<p>Thanks for discovering and reporting this clever way to confuse Firefox with recursion.  I&#8217;ve filed <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=403999" rel="nofollow">https://bugzilla.mozilla.org/show_bug.cgi?id=403999</a> with a clearer testcase &#8212; you can use any object, even ({}), in place of the history object.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gareth Heyes</title>
		<link>http://www.thespanner.co.uk/2007/11/14/firefox-history-dos-attack/#comment-837</link>
		<dc:creator>Gareth Heyes</dc:creator>
		<pubDate>Thu, 15 Nov 2007 11:47:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.thespanner.co.uk/2007/11/14/firefox-history-dos-attack/#comment-837</guid>
		<description>Accessing body or innerHTML causes a permission error.</description>
		<content:encoded><![CDATA[<p>Accessing body or innerHTML causes a permission error.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gareth Heyes</title>
		<link>http://www.thespanner.co.uk/2007/11/14/firefox-history-dos-attack/#comment-836</link>
		<dc:creator>Gareth Heyes</dc:creator>
		<pubDate>Thu, 15 Nov 2007 11:46:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.thespanner.co.uk/2007/11/14/firefox-history-dos-attack/#comment-836</guid>
		<description>Here's my new attempt:-
window.onload = function() {
	newElement = document.createElement('iframe');
	newElement.src = 'http://www.google.co.uk/';
	newElement.id = 'iframe';		
	newElement.onload = function() {
		var doc = this.contentWindow.document;
		this.__defineGetter__('contentWindow',function() { return doc });	
		x = this.contentWindow;
		delete this.contentWindow;
		delete doc;
		alert(x);
	}
	document.body.appendChild(newElement);
}

Doesn't work though :(</description>
		<content:encoded><![CDATA[<p>Here&#8217;s my new attempt:-<br />
window.onload = function() {<br />
	newElement = document.createElement(&#8217;iframe&#8217;);<br />
	newElement.src = &#8216;http://www.google.co.uk/&#8217;;<br />
	newElement.id = &#8216;iframe&#8217;;<br />
	newElement.onload = function() {<br />
		var doc = this.contentWindow.document;<br />
		this.__defineGetter__(&#8217;contentWindow&#8217;,function() { return doc });<br />
		x = this.contentWindow;<br />
		delete this.contentWindow;<br />
		delete doc;<br />
		alert(x);<br />
	}<br />
	document.body.appendChild(newElement);<br />
}</p>
<p>Doesn&#8217;t work though <img src='http://www.thespanner.co.uk/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: .mario</title>
		<link>http://www.thespanner.co.uk/2007/11/14/firefox-history-dos-attack/#comment-835</link>
		<dc:creator>.mario</dc:creator>
		<pubDate>Thu, 15 Nov 2007 10:14:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.thespanner.co.uk/2007/11/14/firefox-history-dos-attack/#comment-835</guid>
		<description>Yep - the holy grail of SOP. I've been trying various approaches recently but haven't had any success yet.

My last attempt was to fill iframes with HTML via this.innerHTML='payload' in the src attribute and trying to access the rendered content after a timeout. But Firefox manages to handle it too - any property inside contentWindow is access restricted.</description>
		<content:encoded><![CDATA[<p>Yep - the holy grail of SOP. I&#8217;ve been trying various approaches recently but haven&#8217;t had any success yet.</p>
<p>My last attempt was to fill iframes with HTML via this.innerHTML=&#8217;payload&#8217; in the src attribute and trying to access the rendered content after a timeout. But Firefox manages to handle it too - any property inside contentWindow is access restricted.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gareth Heyes</title>
		<link>http://www.thespanner.co.uk/2007/11/14/firefox-history-dos-attack/#comment-831</link>
		<dc:creator>Gareth Heyes</dc:creator>
		<pubDate>Wed, 14 Nov 2007 21:48:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.thespanner.co.uk/2007/11/14/firefox-history-dos-attack/#comment-831</guid>
		<description>Thanks :) yeah that's my plan, I'm not sure it's possible because the objects are spoofed getters. I'm having fun trying though</description>
		<content:encoded><![CDATA[<p>Thanks <img src='http://www.thespanner.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> yeah that&#8217;s my plan, I&#8217;m not sure it&#8217;s possible because the objects are spoofed getters. I&#8217;m having fun trying though</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Awesome AnDrEw</title>
		<link>http://www.thespanner.co.uk/2007/11/14/firefox-history-dos-attack/#comment-830</link>
		<dc:creator>Awesome AnDrEw</dc:creator>
		<pubDate>Wed, 14 Nov 2007 21:43:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.thespanner.co.uk/2007/11/14/firefox-history-dos-attack/#comment-830</guid>
		<description>Nice work, Gareth. I'm really pulling that you figure out a way to break the same origin policy simply because it would be quite impressive.</description>
		<content:encoded><![CDATA[<p>Nice work, Gareth. I&#8217;m really pulling that you figure out a way to break the same origin policy simply because it would be quite impressive.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
