<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: clickjacking</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/clickjacking.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2010-06-03T10:01:00+00:00</updated><author><name>Simon Willison</name></author><entry><title>"Likejacking" Takes Off on Facebook</title><link href="https://simonwillison.net/2010/Jun/3/likejacking/#atom-tag" rel="alternate"/><published>2010-06-03T10:01:00+00:00</published><updated>2010-06-03T10:01:00+00:00</updated><id>https://simonwillison.net/2010/Jun/3/likejacking/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.readwriteweb.com/archives/likejacking_takes_off_on_facebook.php"&gt;&amp;quot;Likejacking&amp;quot; Takes Off on Facebook&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
The Facebook Like button is vulnerable to Clickjacking, and is being widely exploited. Since Likes show up in your Facebook stream, it’s an easy attack to make viral. The button is implemented on third party sites as an iframe, which would seem to me to be exploitable by design (just make the iframe transparent in the parent document and trick the user in to clicking in the right place). I can’t think of any way they could support the embedded Like button without being vulnerable to clickjacking, since clickjacking prevention relies on not allowing your UI elements to be embedded in a hostile site while the Like button’s functionality depends on exactly that.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/clickjacking"&gt;clickjacking&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/facebook"&gt;facebook&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/iframes"&gt;iframes&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/phishing"&gt;phishing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/recovered"&gt;recovered&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/likebutton"&gt;likebutton&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/likejacking"&gt;likejacking&lt;/a&gt;&lt;/p&gt;



</summary><category term="clickjacking"/><category term="facebook"/><category term="iframes"/><category term="phishing"/><category term="security"/><category term="recovered"/><category term="likebutton"/><category term="likejacking"/></entry><entry><title>Busting frame busting: a study of clickjacking vulnerabilities at popular sites</title><link href="https://simonwillison.net/2010/May/24/busting/#atom-tag" rel="alternate"/><published>2010-05-24T11:40:00+00:00</published><updated>2010-05-24T11:40:00+00:00</updated><id>https://simonwillison.net/2010/May/24/busting/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://seclab.stanford.edu/websec/framebusting/"&gt;Busting frame busting: a study of clickjacking vulnerabilities at popular sites&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Fascinating and highly readable security paper from the Stanford Web Security Research group. Clickjacking can be mitigated using framebusting techniques, but it turns out that almost all of those techniques can be broken in various ways. Fun examples include double-nesting iframes so that the framebusting script overwrites the top-level frame rather than the whole window, and a devious attack against the IE and Chrome XSS filters which tricks them in to deleting the framebusting JavaScript by reflecting portions of it in the framed page’s URL. The authors suggest a new framebusting snippet that should be more effective, but sadly it relies on blanking out the whole page in CSS and making it visible again in JavaScript, making it inaccessible to browsers with JavaScript disabled.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://delicious.com/jdunck/clickjacking+iframe"&gt;Jeremy Dunck&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/clickjacking"&gt;clickjacking&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/framebusting"&gt;framebusting&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/iframes"&gt;iframes&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/xss"&gt;xss&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/recovered"&gt;recovered&lt;/a&gt;&lt;/p&gt;



</summary><category term="clickjacking"/><category term="framebusting"/><category term="iframes"/><category term="javascript"/><category term="security"/><category term="xss"/><category term="recovered"/></entry><entry><title>Facebook Adds Code for Clickjacking Prevention</title><link href="https://simonwillison.net/2010/Mar/13/facebook/#atom-tag" rel="alternate"/><published>2010-03-13T10:42:17+00:00</published><updated>2010-03-13T10:42:17+00:00</updated><id>https://simonwillison.net/2010/Mar/13/facebook/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://theharmonyguy.com/2010/03/13/facebook-adds-code-for-clickjacking-prevention/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A theharmonyguy %28Social Hacking%29"&gt;Facebook Adds Code for Clickjacking Prevention&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Clever technique: Facebook pages check to see if they are being framed (using window.top) and, if they are, add a div covering the whole page which causes a top level reload should anything be clicked on. They also log framing attempts using an image bug.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/clickjacking"&gt;clickjacking&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/facebook"&gt;facebook&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/framing"&gt;framing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/joey-tyson"&gt;joey-tyson&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/phishing"&gt;phishing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;&lt;/p&gt;



</summary><category term="clickjacking"/><category term="facebook"/><category term="framing"/><category term="joey-tyson"/><category term="phishing"/><category term="security"/></entry><entry><title>The Dangers of Clickjacking with Facebook</title><link href="https://simonwillison.net/2009/Dec/23/clickjacking/#atom-tag" rel="alternate"/><published>2009-12-23T10:20:43+00:00</published><updated>2009-12-23T10:20:43+00:00</updated><id>https://simonwillison.net/2009/Dec/23/clickjacking/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://theharmonyguy.com/2009/10/14/the-dangers-of-clickjacking-with-facebook/"&gt;The Dangers of Clickjacking with Facebook&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
theharmonyguy compiled a list of actions that can be triggered on Facebook by a single click, and hence are vulnerable to clickjacking attacks. The list includes authorising malicious applications, posting links to profiles, sending friend requests and sending messages to other users. Why don’t Facebook include frame busting JavaScript on every page?


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/clickjacking"&gt;clickjacking&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/facebook"&gt;facebook&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/framebusting"&gt;framebusting&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/phishing"&gt;phishing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/theharmonyguy"&gt;theharmonyguy&lt;/a&gt;&lt;/p&gt;



</summary><category term="clickjacking"/><category term="facebook"/><category term="framebusting"/><category term="phishing"/><category term="security"/><category term="theharmonyguy"/></entry><entry><title>New Facebook clickjacking attack in the wild</title><link href="https://simonwillison.net/2009/Dec/22/clickjacking/#atom-tag" rel="alternate"/><published>2009-12-22T18:52:00+00:00</published><updated>2009-12-22T18:52:00+00:00</updated><id>https://simonwillison.net/2009/Dec/22/clickjacking/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://blog.kotowicz.net/2009/12/new-facebook-clickjagging-attack-in.html"&gt;New Facebook clickjacking attack in the wild&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
I’m not sure why Facebook don’t use frame-busting JavaScript to avoid this kind of thing. The attack is pretty crafty—a Facebook page is positioned with everything obscured bar part of the blue “share this” button, and a fake “Human Test” asks the user to find and click the blue button to continue.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/clickjacking"&gt;clickjacking&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/facebook"&gt;facebook&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/phishing"&gt;phishing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;&lt;/p&gt;



</summary><category term="clickjacking"/><category term="facebook"/><category term="phishing"/><category term="security"/></entry><entry><title>Twitter Don't Click Exploit</title><link href="https://simonwillison.net/2009/Feb/12/chris/#atom-tag" rel="alternate"/><published>2009-02-12T19:56:42+00:00</published><updated>2009-02-12T19:56:42+00:00</updated><id>https://simonwillison.net/2009/Feb/12/chris/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://shiflett.org/blog/2009/feb/twitter-dont-click-exploit"&gt;Twitter Don&amp;#x27;t Click Exploit&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Someone ran a successful ClickJacking exploit against Twitter users, using a transparent iframe holding the Twitter homepage with a status message fed in by a query string parameter. Thiss will definitely help raise awareness of ClickJacking! Twitter has now added framebusting JavaScript to prevent the exploit.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/chris-shiflett"&gt;chris-shiflett&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/clickjacking"&gt;clickjacking&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/framebusting"&gt;framebusting&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/twitter"&gt;twitter&lt;/a&gt;&lt;/p&gt;



</summary><category term="chris-shiflett"/><category term="clickjacking"/><category term="framebusting"/><category term="javascript"/><category term="security"/><category term="twitter"/></entry><entry><title>Ehy IE8, I Can Has Some Clickjacking Protection?</title><link href="https://simonwillison.net/2009/Jan/29/clickjacking/#atom-tag" rel="alternate"/><published>2009-01-29T13:39:34+00:00</published><updated>2009-01-29T13:39:34+00:00</updated><id>https://simonwillison.net/2009/Jan/29/clickjacking/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://hackademix.net/2009/01/27/ehy-ie8-i-can-has-some-clickjacking-protection/"&gt;Ehy IE8, I Can Has Some Clickjacking Protection?&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
IE8 has built-in protection against clickjacking, but it’s opt-in (with a custom HTTP header) and IE only. It turns out the usual defence against clickjacking (using framebusting JavaScript) doesn’t work in IE as it can be worked around with a security=“restricted” attribute on an iframe.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://ha.ckers.org/blog/20090128/ie80-and-clickjacking/"&gt;ha.ckers.org&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/clickjacking"&gt;clickjacking&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/http"&gt;http&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ie8"&gt;ie8&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/iframes"&gt;iframes&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet-explorer"&gt;internet-explorer&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;&lt;/p&gt;



</summary><category term="clickjacking"/><category term="http"/><category term="ie8"/><category term="iframes"/><category term="internet-explorer"/><category term="javascript"/><category term="security"/></entry><entry><title>Web Security Horror Stories: The Director's Cut</title><link href="https://simonwillison.net/2008/Oct/26/horror/#atom-tag" rel="alternate"/><published>2008-10-26T12:15:33+00:00</published><updated>2008-10-26T12:15:33+00:00</updated><id>https://simonwillison.net/2008/Oct/26/horror/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://simonwillison.net/2008/talks/head-horror/"&gt;Web Security Horror Stories: The Director&amp;#x27;s Cut&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Slides from the talk on web application security I gave this morning at &amp;lt;head&amp;gt;, the worldwide online conference. I just about managed to resist the temptation to present in my boxers. Topics include XSS, CSRF, Login CSRF and Clickjacking.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/clickjacking"&gt;clickjacking&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/csrf"&gt;csrf&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/logincsrf"&gt;logincsrf&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/xss"&gt;xss&lt;/a&gt;&lt;/p&gt;



</summary><category term="clickjacking"/><category term="csrf"/><category term="logincsrf"/><category term="security"/><category term="xss"/></entry><entry><title>Clickjacking and NoScript</title><link href="https://simonwillison.net/2008/Oct/7/hackademixnet/#atom-tag" rel="alternate"/><published>2008-10-07T11:05:33+00:00</published><updated>2008-10-07T11:05:33+00:00</updated><id>https://simonwillison.net/2008/Oct/7/hackademixnet/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://hackademix.net/2008/09/27/clickjacking-and-noscript/"&gt;Clickjacking and NoScript&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
NoScript CAN protect against clickjacking, but only if you enable the “Plugins|Forbid IFRAME” option.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://simonwillison.net/2008/Oct/7/clickjacking/#c41340"&gt;CiaranG&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/clickjacking"&gt;clickjacking&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/noscript"&gt;noscript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;&lt;/p&gt;



</summary><category term="clickjacking"/><category term="noscript"/><category term="security"/></entry><entry><title>Dealing with UI redress vulnerabilities inherent to the	current web</title><link href="https://simonwillison.net/2008/Oct/7/clickjacking/#atom-tag" rel="alternate"/><published>2008-10-07T09:59:58+00:00</published><updated>2008-10-07T09:59:58+00:00</updated><id>https://simonwillison.net/2008/Oct/7/clickjacking/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2008-September/016284.html"&gt;Dealing with UI redress vulnerabilities inherent to the	current web&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
The best explanation of clickjacking I’ve seen yet, complete with discussion of a number of non-ideal potential solutions. It looks like frame busting JavaScript will defeat it, but only for users who have JavaScript enabled—which means that in this case extensions like NoScript actually make you less safe. UPDATE: NoScript is smarter than I thought; see the comments.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://www.schneier.com/blog/archives/2008/10/clickjacking.html#c315040"&gt;A comment on Schneier on Security&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/clickjacking"&gt;clickjacking&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/noscript"&gt;noscript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;&lt;/p&gt;



</summary><category term="clickjacking"/><category term="javascript"/><category term="noscript"/><category term="security"/></entry><entry><title>This Week in HTML 5 - Episode 7: Clickjacking</title><link href="https://simonwillison.net/2008/Oct/1/whatwg/#atom-tag" rel="alternate"/><published>2008-10-01T01:48:15+00:00</published><updated>2008-10-01T01:48:15+00:00</updated><id>https://simonwillison.net/2008/Oct/1/whatwg/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://blog.whatwg.org/this-week-in-html-5-episode-7"&gt;This Week in HTML 5 - Episode 7: Clickjacking&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Clickjacking is when a third party site is embedded in an iframe with opacity 0 and positioned such that a click on the page actually hits a button on the now invisible third party site. Mark Pilgrim explains how the NoScript site uses this in a non malicious way to for the “install now!” button.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/clickjacking"&gt;clickjacking&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/html5"&gt;html5&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/iframes"&gt;iframes&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mark-pilgrim"&gt;mark-pilgrim&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/noscript"&gt;noscript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/opacity"&gt;opacity&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/phishing"&gt;phishing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/security"&gt;security&lt;/a&gt;&lt;/p&gt;



</summary><category term="clickjacking"/><category term="html5"/><category term="iframes"/><category term="mark-pilgrim"/><category term="noscript"/><category term="opacity"/><category term="phishing"/><category term="security"/></entry></feed>