<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>dsandler.org &#187; clickjacking</title>
	<atom:link href="http://dsandler.org/wp/archives/tag/clickjacking/feed" rel="self" type="application/rss+xml" />
	<link>http://dsandler.org/wp</link>
	<description>a beautiful blog by daniel sandler</description>
	<lastBuildDate>Tue, 07 Sep 2010 22:43:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Twitter&#8217;s &#8220;Don&#8217;t Click&#8221; prank, explained</title>
		<link>http://dsandler.org/wp/archives/2009/02/12/dontclick</link>
		<comments>http://dsandler.org/wp/archives/2009/02/12/dontclick#comments</comments>
		<pubDate>Thu, 12 Feb 2009 21:41:13 +0000</pubDate>
		<dc:creator>Daniel Sandler</dc:creator>
				<category><![CDATA[notebook]]></category>
		<category><![CDATA[clickjacking]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://dsandler.org/wp/?p=21268</guid>
		<description><![CDATA[
[This information originally appeared here, where I also included an inert copy of the attack code.]


Fig. 1. A common sequence of tweets this morning.

Quick explanation of today&#8217;s “Don&#8217;t Click” attack
		
		This viral Twitter prank uses a pretty standard
		trick to get you to post something to Twitter, using no JavaScript and only a very little bit of [...]]]></description>
			<content:encoded><![CDATA[<p>
[This information originally appeared <a href="http://dsandler.org/outgoing/dontclick_orig.html">here</a>, where I also included an inert copy of the attack code.]</p>
<p align="center" style="margin: 1.5em;">
<a href="http://twitter.com/jkottke/status/1203583688"><img src="/entries/images/2009/dontclick-jkottke.png" border="0" /></a>
<br/><b>Fig. 1.</b> A common sequence of tweets this morning.
</p>
<h3>Quick explanation of today&#8217;s “Don&#8217;t Click” attack</h3>
		<p>
		This viral Twitter prank uses <a
		href="http://en.wikipedia.org/wiki/Clickjacking">a pretty standard
		trick</a> to get you to post something to Twitter, using no JavaScript and only a very little bit of CSS.  It requires only that you&#8217;re first logged in to twitter.com
		(and that your browser&#8217;s fonts are pretty close to
		standard so that things line up correctly).
		</p>
<p align="center">
<img src="/entries/images/2009/dontclick-1.png" style="border: 3px solid gray;">
<br/><b>Fig. 2.</b> The &#8220;Don&#8217;t Click&#8221; page.
</p>

		<P>
		The attack page creates a button labeled &#8220;Don&#8217;t Click&#8221; that does nothing at
		all, but it also loads twitter.com in an
		<tt>&lt;IFRAME&gt;</tt> directly on top of the button. That
		IFRAME is then made completely transparent using CSS.
		</p>
<p align="center">
<img src="/entries/images/2009/dontclick-2.png" style="border: 3px solid gray;">
<br/><b>Fig. 3.</b> The hidden IFRAME, exposed.
</p>
		<p>
		When you click the button, you&#8217;re actually clicking on the (now invisible) &#8216;Update&#8217;
		button on Twitter&#8217;s web interface instead; assuming you&#8217;re logged in
		to Twitter, you&#8217;ll immediately post whatever&#8217;s in the form input box.
		Thanks to Twitter&#8217;s <tt>?status=</tt> URL feature (that allows Twitter
		to be pre-loaded with a message), it&#8217;s very easy for the attacker to
		drop the following message in:</p>

		<blockquote style="font-size: 150%;">
		Don&#8217;t Click: http://tinyurl.com/amgzs6
		</blockquote>
		<p>
		That TinyURL expands to http://www.umoor.eu/blog/yes-we-can.php, the
		attack page; in this way your followers are also enticed to propagate
		the &#8220;attack&#8221; (which has <a
		href="http://search.twitter.com/search?q=Don%27t+Click">proven
		quite successful</a>).
		</p>

		<p>
		No accounts were compromised by this prank; you
		don&#8217;t need to change your Twitter password.
		For more information, check out the source to this page, which
		includes the attack (but makes the Twitter IFRAME partially visible so
		you can see it; it also puts another <tt>&lt;DIV&gt;</tt> on top
		of it to protect you from accidentally clicking the &#8220;Submit&#8221; button).
		</p>
		<p>See also:  <a
		rel="nofollow"
		href="http://www.korben.info/petit-cours-de-twitt-jacking.html">an explanation</a> (en Fran&ccedil;ais) by the author of this attack, originally launched in January 2009. (There is some <a href="http://www.fscked.co.uk/index.php/2009/02/where-did-the-twitter-dont-click-attack-come-from/">speculation</a> that the code was taken directly from <a href="http://james.padolsey.com/general/clickjacking-twitter/">James Padolsey&#8217;s proof-of-concept</a>, owing to the similarity of the code.)
		</p>
		<P>
		As of 1:40PM EST, twitter.com is using some
		JavaScript to try to detect when it&#8217;s being loaded in an
		IFRAME:
		</p>
		<blockquote><tt>
		    if (window.top !== window.self) {<br/>&nbsp;&nbsp;&nbsp; window.top.location.href
			= window.self.location.href; }
			</tt></blockquote>
		<p>
		If you try to load Twitter in an IFRAME you&#8217;ll find the
		browser
		redirected to Twitter automatically (in this case, you&#8217;ll
		never have an opportunity to click on &#8220;Don&#8217;t Click&#8221;). 
		I&#8217;ve therefore removed the attack from <a href="/outgoing/dontclick_orig.html">this page</a>, but you can still see
		it if you view source.
		</p>

]]></content:encoded>
			<wfw:commentRss>http://dsandler.org/wp/archives/2009/02/12/dontclick/feed</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
	</channel>
</rss>
