<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Backbutton Overloading</title>
	<atom:link href="http://ajaxian.com/archives/backbutton-overloading/feed" rel="self" type="application/rss+xml" />
	<link>http://ajaxian.com/archives/backbutton-overloading</link>
	<description>Cleaning up the web with Ajax</description>
	<lastBuildDate>Thu, 17 May 2012 07:43:39 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: L-Argentine Erectile Dysfunction</title>
		<link>http://ajaxian.com/archives/backbutton-overloading/comment-page-1#comment-253674</link>
		<dc:creator>L-Argentine Erectile Dysfunction</dc:creator>
		<pubDate>Wed, 08 Aug 2007 20:43:35 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1956#comment-253674</guid>
		<description>Totally agree with Mario</description>
		<content:encoded><![CDATA[<p>Totally agree with Mario</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: .mario</title>
		<link>http://ajaxian.com/archives/backbutton-overloading/comment-page-1#comment-245587</link>
		<dc:creator>.mario</dc:creator>
		<pubDate>Thu, 28 Dec 2006 00:28:22 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1956#comment-245587</guid>
		<description>Hi!

Just came back from my holidays and recognized my link was posted. I read the comments and I came to the conclusion that the severity of this problem doesn&#039;t seem to be understood completely.

I am currently employed as developer and security guy and i did a lot of research around xss, csrf and other web application vulnerabilities. I learned how to use tools like backframe in combination with a xss hole to remote control a whole site. If you manage to get a user on a vulnerable site with the backframe code applied you can use my snippet above to keep him from leaving the site AND you might be able to assure that he event won&#039;t notice. I think this is pretty severe and should be solved by browser vendors.

If you have any questions regarding this issue, don&#039;t hesitate to contact me here or via my site.

regards,
.mario</description>
		<content:encoded><![CDATA[<p>Hi!</p>
<p>Just came back from my holidays and recognized my link was posted. I read the comments and I came to the conclusion that the severity of this problem doesn&#8217;t seem to be understood completely.</p>
<p>I am currently employed as developer and security guy and i did a lot of research around xss, csrf and other web application vulnerabilities. I learned how to use tools like backframe in combination with a xss hole to remote control a whole site. If you manage to get a user on a vulnerable site with the backframe code applied you can use my snippet above to keep him from leaving the site AND you might be able to assure that he event won&#8217;t notice. I think this is pretty severe and should be solved by browser vendors.</p>
<p>If you have any questions regarding this issue, don&#8217;t hesitate to contact me here or via my site.</p>
<p>regards,<br />
.mario</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JosÃ© Jeria</title>
		<link>http://ajaxian.com/archives/backbutton-overloading/comment-page-1#comment-245545</link>
		<dc:creator>JosÃ© Jeria</dc:creator>
		<pubDate>Mon, 25 Dec 2006 22:38:23 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1956#comment-245545</guid>
		<description>I think this is a great idea! I mean, force users to stay on a certain page! Great! The user will understand that he should not visit any other pages apart from the one having this script.</description>
		<content:encoded><![CDATA[<p>I think this is a great idea! I mean, force users to stay on a certain page! Great! The user will understand that he should not visit any other pages apart from the one having this script.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: NICCAI</title>
		<link>http://ajaxian.com/archives/backbutton-overloading/comment-page-1#comment-245522</link>
		<dc:creator>NICCAI</dc:creator>
		<pubDate>Fri, 22 Dec 2006 21:06:35 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1956#comment-245522</guid>
		<description>If the previous page was an RSS feed in IE7, the back button works.  :D</description>
		<content:encoded><![CDATA[<p>If the previous page was an RSS feed in IE7, the back button works.  :D</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Kawakami</title>
		<link>http://ajaxian.com/archives/backbutton-overloading/comment-page-1#comment-245516</link>
		<dc:creator>Mark Kawakami</dc:creator>
		<pubDate>Fri, 22 Dec 2006 17:55:56 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1956#comment-245516</guid>
		<description>This is definitely a bad thing. At some point or another, the ability to disable or divert the back button is something every web app developer has wished they had for genuinely useful purposes, but I&#039;m pretty sure that this would be used for far more nefarious purposes. I bet an update to prevent this will make its way into Firefox soon and the other browsers will have to follow suit, so I&#039;m not going to bother with using this for anything because it&#039;s going to stop working soon. 

What scares me is that it raises a lot more potential for dangerous XSS attacks. What bothers me is that onunload is supposed to be for cleanup and such, but not for preventing the action that led to the event being fired, which this does, so it really strikes me as a bug.</description>
		<content:encoded><![CDATA[<p>This is definitely a bad thing. At some point or another, the ability to disable or divert the back button is something every web app developer has wished they had for genuinely useful purposes, but I&#8217;m pretty sure that this would be used for far more nefarious purposes. I bet an update to prevent this will make its way into Firefox soon and the other browsers will have to follow suit, so I&#8217;m not going to bother with using this for anything because it&#8217;s going to stop working soon. </p>
<p>What scares me is that it raises a lot more potential for dangerous XSS attacks. What bothers me is that onunload is supposed to be for cleanup and such, but not for preventing the action that led to the event being fired, which this does, so it really strikes me as a bug.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Geary</title>
		<link>http://ajaxian.com/archives/backbutton-overloading/comment-page-1#comment-245514</link>
		<dc:creator>Michael Geary</dc:creator>
		<pubDate>Fri, 22 Dec 2006 16:28:44 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1956#comment-245514</guid>
		<description>If you want to keep a visitor from leaving your page by clicking a link, there&#039;s a much better way to do it:

Don&#039;t have any links on your page! D&#039;oh!</description>
		<content:encoded><![CDATA[<p>If you want to keep a visitor from leaving your page by clicking a link, there&#8217;s a much better way to do it:</p>
<p>Don&#8217;t have any links on your page! D&#8217;oh!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dougal</title>
		<link>http://ajaxian.com/archives/backbutton-overloading/comment-page-1#comment-245508</link>
		<dc:creator>Dougal</dc:creator>
		<pubDate>Fri, 22 Dec 2006 14:05:06 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1956#comment-245508</guid>
		<description>Doing that is about as good as a window opening itself onLoad (then ofcourse that starts a loop)... and then you make the window not open noe, but 2 or 4 versions of itself. i remember when i was about 14 and learning javascript doing that to annoy somebody...</description>
		<content:encoded><![CDATA[<p>Doing that is about as good as a window opening itself onLoad (then ofcourse that starts a loop)&#8230; and then you make the window not open noe, but 2 or 4 versions of itself. i remember when i was about 14 and learning javascript doing that to annoy somebody&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ARWolff</title>
		<link>http://ajaxian.com/archives/backbutton-overloading/comment-page-1#comment-245507</link>
		<dc:creator>ARWolff</dc:creator>
		<pubDate>Fri, 22 Dec 2006 13:57:13 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1956#comment-245507</guid>
		<description>Rather than simply keeping the user on the current page, might one overload the &quot;back&quot; button to do what s/he expects, coming from the paradigm of pre-Ajax Web apps? That is, might it &quot;undo&quot; the last create/update/delete action executed via XHR? Maybe this feature belongs in a framework. I can imagine an &quot;event stack,&quot; where appropriate &quot;undos&quot; are registered for each C/U/D action, and the Back button executes and discards the top of the stack ...</description>
		<content:encoded><![CDATA[<p>Rather than simply keeping the user on the current page, might one overload the &#8220;back&#8221; button to do what s/he expects, coming from the paradigm of pre-Ajax Web apps? That is, might it &#8220;undo&#8221; the last create/update/delete action executed via XHR? Maybe this feature belongs in a framework. I can imagine an &#8220;event stack,&#8221; where appropriate &#8220;undos&#8221; are registered for each C/U/D action, and the Back button executes and discards the top of the stack &#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Spolster</title>
		<link>http://ajaxian.com/archives/backbutton-overloading/comment-page-1#comment-245506</link>
		<dc:creator>Spolster</dc:creator>
		<pubDate>Fri, 22 Dec 2006 13:54:35 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1956#comment-245506</guid>
		<description>The onunload event can be useful for cleaning up upon leaving a page, such as saving recent changes. Unfortunately, providing this power leaves the user open to malicious scripts (which mostly, I think, would be off the annoying rather than data collecting kind since, as in Philip&#039;s example above, some other kind of exploit would be required to do anything seriously malicious).</description>
		<content:encoded><![CDATA[<p>The onunload event can be useful for cleaning up upon leaving a page, such as saving recent changes. Unfortunately, providing this power leaves the user open to malicious scripts (which mostly, I think, would be off the annoying rather than data collecting kind since, as in Philip&#8217;s example above, some other kind of exploit would be required to do anything seriously malicious).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Philip Tellis</title>
		<link>http://ajaxian.com/archives/backbutton-overloading/comment-page-1#comment-245501</link>
		<dc:creator>Philip Tellis</dc:creator>
		<pubDate>Fri, 22 Dec 2006 13:09:15 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1956#comment-245501</guid>
		<description>Ok, so the example shows how to keep people at your site, but that isn&#039;t really the worst use of this method.  It could actually be used to compromise a user&#039;s security by redirecting them to an evil site when they think they&#039;re clicking on a good site.

An input form with bad validation, for example, could allow a user to add javascript that hijacks the onunload with a redirect to an evil url.  The redirect would pass the correct url as a parameter to this evil url.  evil site then uses this url to fetch the good site, changes the html to do bad things, and shows it to the user.

naÃ¯ve user doesn&#039;t realise that he&#039;s not at goodsite.com, but at evilsite.com (maybe because the link actually pointed to http://www.goodsite.com-foobar-blah@evilsite.com/) and gives away some critical data.</description>
		<content:encoded><![CDATA[<p>Ok, so the example shows how to keep people at your site, but that isn&#8217;t really the worst use of this method.  It could actually be used to compromise a user&#8217;s security by redirecting them to an evil site when they think they&#8217;re clicking on a good site.</p>
<p>An input form with bad validation, for example, could allow a user to add javascript that hijacks the onunload with a redirect to an evil url.  The redirect would pass the correct url as a parameter to this evil url.  evil site then uses this url to fetch the good site, changes the html to do bad things, and shows it to the user.</p>
<p>naÃ¯ve user doesn&#8217;t realise that he&#8217;s not at goodsite.com, but at evilsite.com (maybe because the link actually pointed to <a href="http://www.goodsite.com-foobar-blah@evilsite.com/" rel="nofollow">http://www.goodsite.com-foobar-blah@evilsite.com/</a>) and gives away some critical data.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rob Cluett</title>
		<link>http://ajaxian.com/archives/backbutton-overloading/comment-page-1#comment-245500</link>
		<dc:creator>Rob Cluett</dc:creator>
		<pubDate>Fri, 22 Dec 2006 12:59:18 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1956#comment-245500</guid>
		<description>Thanks for posting!  In my opinion, this is a horribly bad thing which does annoys me!  Why keep someone around if they are trying to leave your site?  It only irritates them and makes them think twice about coming back.  Unuforunately this is a cheap and rude way at gaining extra page hits : ) Thanks for the post...</description>
		<content:encoded><![CDATA[<p>Thanks for posting!  In my opinion, this is a horribly bad thing which does annoys me!  Why keep someone around if they are trying to leave your site?  It only irritates them and makes them think twice about coming back.  Unuforunately this is a cheap and rude way at gaining extra page hits : ) Thanks for the post&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: DJP</title>
		<link>http://ajaxian.com/archives/backbutton-overloading/comment-page-1#comment-245499</link>
		<dc:creator>DJP</dc:creator>
		<pubDate>Fri, 22 Dec 2006 12:48:40 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1956#comment-245499</guid>
		<description>The &quot;No-script&quot; plugin for Firefox is usefull in that case... :]</description>
		<content:encoded><![CDATA[<p>The &#8220;No-script&#8221; plugin for Firefox is usefull in that case&#8230; :]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kalle</title>
		<link>http://ajaxian.com/archives/backbutton-overloading/comment-page-1#comment-245498</link>
		<dc:creator>Kalle</dc:creator>
		<pubDate>Fri, 22 Dec 2006 12:37:22 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1956#comment-245498</guid>
		<description>To be honest, I don&#039;t like that &quot;keep a user around against their will&quot;-part.</description>
		<content:encoded><![CDATA[<p>To be honest, I don&#8217;t like that &#8220;keep a user around against their will&#8221;-part.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Simon Jia</title>
		<link>http://ajaxian.com/archives/backbutton-overloading/comment-page-1#comment-245497</link>
		<dc:creator>Simon Jia</dc:creator>
		<pubDate>Fri, 22 Dec 2006 12:37:11 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1956#comment-245497</guid>
		<description>hmm... what&#039;s the point of destroying your user&#039;s will? Oh, i know, to piss them off
The up side i see is that if you have an application that has some Ajax pieces built in, and you don&#039;t want them going back and force and loose the look and feel, then it might be useful, but this is really taking it to the extreme.</description>
		<content:encoded><![CDATA[<p>hmm&#8230; what&#8217;s the point of destroying your user&#8217;s will? Oh, i know, to piss them off<br />
The up side i see is that if you have an application that has some Ajax pieces built in, and you don&#8217;t want them going back and force and loose the look and feel, then it might be useful, but this is really taking it to the extreme.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave</title>
		<link>http://ajaxian.com/archives/backbutton-overloading/comment-page-1#comment-245496</link>
		<dc:creator>Dave</dc:creator>
		<pubDate>Fri, 22 Dec 2006 12:35:50 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1956#comment-245496</guid>
		<description>I clicked the Google link, then viewed the source. It showed me the source for Google and not the inescapable page. Could be handy for a tool to view the source of other pages, while not leaving one.</description>
		<content:encoded><![CDATA[<p>I clicked the Google link, then viewed the source. It showed me the source for Google and not the inescapable page. Could be handy for a tool to view the source of other pages, while not leaving one.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: AndiSkater</title>
		<link>http://ajaxian.com/archives/backbutton-overloading/comment-page-1#comment-245495</link>
		<dc:creator>AndiSkater</dc:creator>
		<pubDate>Fri, 22 Dec 2006 12:35:15 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1956#comment-245495</guid>
		<description>Does not work in Safari. If you use the back button, if just works as usual. Even if this worked, you would still have the problem that the page would be reloaded and all JavaScript variables and objects were gone.</description>
		<content:encoded><![CDATA[<p>Does not work in Safari. If you use the back button, if just works as usual. Even if this worked, you would still have the problem that the page would be reloaded and all JavaScript variables and objects were gone.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wouter</title>
		<link>http://ajaxian.com/archives/backbutton-overloading/comment-page-1#comment-245494</link>
		<dc:creator>Wouter</dc:creator>
		<pubDate>Fri, 22 Dec 2006 12:27:07 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1956#comment-245494</guid>
		<description>It is not entirely foolproof. If you keep bashing the back button, it will eventually go back to the previous visited page. Not only that, it will add a history for that page. In other words: if you push forwards, you stay on the same page.

(I found this out because I am an extrmely angry and impatient person 8P )</description>
		<content:encoded><![CDATA[<p>It is not entirely foolproof. If you keep bashing the back button, it will eventually go back to the previous visited page. Not only that, it will add a history for that page. In other words: if you push forwards, you stay on the same page.</p>
<p>(I found this out because I am an extrmely angry and impatient person 8P )</p>
]]></content:encoded>
	</item>
</channel>
</rss>

