News for hackers. Stuff that matters.
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by duopixel on Tuesday March 06, 2012 @05:00PM (#3673125)
A much more straightforward abuse would be pointer-events: none. Just position an element over the 'like' button and let clicks pass through it: http://jsfiddle.net/rVxTn/
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by endtwist on Tuesday March 06, 2012 @06:53PM (#3673503)
Even better: http://jsfiddle.net/rVxTn/8/

pointer-events: none on an opaque container, with the FB 'like' button below it.

Re:Cursor:none abuse (trick users into clicking Facebook 'li... by jackshepherd on Tuesday March 06, 2012 @05:17PM (#3673198)
Wow - that is quite amazing. I wonder if that's in use in the wild yet.

Edit: It seems like this is a largely solved problem for Facebook: http://forum.developers.facebook.net/viewtopic.php?id=93201&...

Could definitely still be a problem for other social/ad/affiliate networks though.

Re:Cursor:none abuse (trick users into clicking Facebook 'li... by elisee on Tuesday March 06, 2012 @05:53PM (#3673319)
A similar click-jacking trick is used a lot for spreading videos like worms on Facebook, at least in French. Videos with baiting titles like "How could she do that?", "I can't believe she did this in front of everyone" and such.

Most people will click just to see what it might be and not miss out. Then the video player says you have to click on some letters to prove you're not a robot (clever trick, people don't think much of it because it reminds them of CAPTCHAs)

The letters actually have Facebook Like button iframes on them with opacity set to 0. I edited the opacity on one of them with the Chrome Dev tools:

http://polyprograms.free.fr/tmp/FacebookLikeClickJacking.jpg

Unknowningly liking the video will create a story in your friends' feeds, who will in turn click to see and spread it to their friends. No real harm is done except for the spam and all the ad views generated.

Re:Cursor:none abuse (trick users into clicking Facebook 'li... by jackshepherd on Tuesday March 06, 2012 @05:34PM (#3673257)
It seems that Facebook has a heuristic where it looks for unusual numbers of retracted 'Likes' and then starts requiring confirmation before logging new Likes.

This makes attacks such as these a little less worrying.

Re:Cursor:none abuse (trick users into clicking Facebook 'li... by paulgb on Tuesday March 06, 2012 @05:55PM (#3673324)
It has. When I was at the company, the most common were a string of .info sites that would show a video player chrome and a title like "embarrassing blooper leaves actress topless" or something equally inviting. The video wouldn't exist, but there would be an invisible "like" button behind the play button.
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by burgerbrain on Tuesday March 06, 2012 @11:09PM (#3674209)
That more straightforward approach also avoids an unexpected downside of this approach. I never really noticed it before, but my mouse icon is black instead of the apparently usual white. My mouse suddenly turning white on that page makes it pretty clear what is going on.
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by coderdude on Tuesday March 06, 2012 @07:48PM (#3673716)
Great job! I wouldn't mind using this for legitimate reasons. I use custom share buttons on one of my sites and I hate having to use a popup. It's a hack. But this is a sexy hack with better integration.
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by thekevan on Tuesday March 06, 2012 @08:29PM (#3673830)
In Chrome 16 on Ubuntu Natty, right clicking breaks this.
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by dkd903 on Wednesday March 07, 2012 @01:38AM (#3674546)
I think we can stop worrying. Facebook has a detection mechanism for these false / forced likes :-) http://i.imgur.com/qf7VQ.png
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by Zirro on Tuesday March 06, 2012 @03:49PM (#3672795)
It should be noted that the NoScript add-on for Firefox prevents this from working through it's Clickjacking-protection (and possibly a couple of more, cursor-specific tricks). People need to know that it does more than block JavaScript.
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by joelhaasnoot on Tuesday March 06, 2012 @04:03PM (#3672858)
What website is useable these days though without Javascript?
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by Zirro on Tuesday March 06, 2012 @04:08PM (#3672889)
Few of the popular ones, but there may be some misconception here. NoScript isn't meant to be blocking JavaScript for all sites. If you trust a site, which doesn't function without JavaScript, adding it to the whitelist is one click away. You get used to it quickly.

And, even in the mode where JavaScript is allowed by default on new sites, the other protections (Clickjacking, XSS, ABE, etc) still apply.

Re:Cursor:none abuse (trick users into clicking Facebook 'li... by moe on Tuesday March 06, 2012 @07:41PM (#3673690)
It's a little bit like the cookie-situation back when the internets were still young.

Many people (including myself) would swear by leaving the cookie notification on and confirming every. single. one. of. them.

That has long stopped being feasible and I assume it will be the same with NoScript in a few years.

Re:Cursor:none abuse (trick users into clicking Facebook 'li... by timmy-turner on Wednesday March 07, 2012 @12:47AM (#3674429)
Isn't this the fault of a bad UI mixed with bad defaults? I'm using the Cookieculler FF addon (https://addons.mozilla.org/en-US/firefox/addon/cookieculler/) to manage them. Instead of torturing me with a modal popup for every new site I visit, it keeps a list of hosts and cookies and trust status in the background. Using that list to protect important but delete/block all other cookies is quite convenient.
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by aw3c2 on Tuesday March 06, 2012 @05:17PM (#3673200)
Most actually, depending on your interests of course.. IF you are looking for content, not games, animations or games and the like. I browse with Javascript disabled by default and rarely enable it (and mostly it is for things would work just fine without if their creator wanted).
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by theon144 on Tuesday March 06, 2012 @04:09PM (#3672898)
Hacker News, for one. Anyway, NoScript isn't an extension to disable javascript (there's already a checkbox for that), the point is to selectively enable it.
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by RexRollman on Tuesday March 06, 2012 @04:30PM (#3672987)
Many sites work reasonably well and some are even better, as many developers use Javascript to make website perform annoying advertising routines.
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by driverdan on Tuesday March 06, 2012 @06:48PM (#3673489)
Set NoScript to allow all same domain JS. This will block 3rd party tracking scripts and ads while allowing the site to work. You'll have to whitelist a few common files like jQuery on Google CDN but for the most part it works great.
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by mattstreet on Tuesday March 06, 2012 @04:13PM (#3672911)
I think NoScript's clickjacking protection works even if the site is whitelisted or you have javascript turned on for all sites, it still checks for XSS type behavior.
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by kzrdude on Tuesday March 06, 2012 @07:19PM (#3673615)
www.google.com is a good example.
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by epochwolf on Tuesday March 06, 2012 @03:32PM (#3672720)
Interesting. Chrome's "Under the Hood > Content Settings > Mouse Cursor" setting doesn't affect this. I would have thought it would prevent this.

Also, stuff like this is why we can't have nice things in browsers. You can't trust the internet.

Re:Cursor:none abuse (trick users into clicking Facebook 'li... by ben0x539 on Tuesday March 06, 2012 @03:49PM (#3672792)
Given what we've been seeing with attack sites, whether shock sites trying to just DoS the browser or silly tricks like making the browser POST to an irc server's irc port to spread the malicious URL, or just terrible ads and tracking that actively slow down the browser and ruin the surfing experience, I'm amazed that not more people see javascript as a built-in remote code execution vulnerability that only gains more and more features over time, sandbox or not. :)

Javascript makes a lot of cool stuff possible, but outside of some heavy-weight web applications that I have to trust anyway like my webmail interface or online storage manager, or games where the interactive components are the only reason why I'm visiting the site to begin with, I'm starting to wonder whether trusting the internet is not inviting more trouble than it's worth.

Maybe I'm "old-fashioned" but I'd love to go back to all the sites I visit functioning with just static web content, no clientside scripting at all, and letting me consume videos and stuff in a trusted media player plugin.

Re:Cursor:none abuse (trick users into clicking Facebook 'li... by cs702 on Tuesday March 06, 2012 @04:21PM (#3672947)
By default I have JavaScript blocked on all sites, allowing it only as needed, case by case, because JavaScript is a remote-code-execution vulnerability of modern browsers.

More and more of the applications we use and our private data live in the cloud. We now access our personal files, manage our bank and investment accounts, and make retail purchases on our web browser.

Browsing the web with JavaScript enabled by default allows code written by complete strangers to run on your browser!

Re:Cursor:none abuse (trick users into clicking Facebook 'li... by driverdan on Tuesday March 06, 2012 @06:51PM (#3673498)
This shows a general lack of knowledge about how JS and websites work. I can't just run JS on my site that will steal your bank info. Browsers have cross domain security policies to prevent this.

There have been various vulnerabilities (especially in IE) but just like any other software they get fixed.

Re:Cursor:none abuse (trick users into clicking Facebook 'li... by cs702 on Wednesday March 07, 2012 @08:27AM (#3675364)
driverdan -- by your logic, it would be OK to give perfect strangers remote-shell access to one's computer, so long as one takes all the precautions necessary to protect sensitive files and prevent them from gaining root access.

Leave aside the various vulnerabilities (including cross-site-scripting ones!) that get discovered with disturbing frequency, and please consider the subject of this thread: it's possible to make someone click a "Like" button without their realizing it! How many other similar tricks can JavaScript be used for by people with nefarious intentions?

No matter how "safe" any runtime environment is, allowing strangers to execute arbitrary code on your computer is never a great idea.

This is why I allow JavaScript code to run on my browser only when it comes from sources I trust.

Re:Cursor:none abuse (trick users into clicking Facebook 'li... by Zirro on Tuesday March 06, 2012 @04:00PM (#3672847)
"...and letting me consume videos and stuff in a trusted media player plugin."

HTML5 generally solves this with <audio> and <video>. If implemented correctly by browsers, they should not require any scripting on the site itself to work.

That said, "trusted" media player plugins (think Flash) have been the targets of many successful attacks as well.

Re:Cursor:none abuse (trick users into clicking Facebook 'li... by ben0x539 on Tuesday March 06, 2012 @05:12PM (#3673178)
I don't want to be thinking flash :)

I'm thinking a dumb unscriptable video playback frame that draws its own controls and isn't remote-controlled by javascript.

I've seen plenty of sites that see that see I don't have javascript enabled (or unblocked) and conclude that welp, that guy probably doesn't have speakers, let's display a unhelpful message instead of embedding media content.

Of course there'll still be some attack surface just like people have been managing to exploit image decoding libraries over the years, but at least it wouldn't be engineered against usability by default.

Re:Cursor:none abuse (trick users into clicking Facebook 'li... by ruethewhirled on Tuesday March 06, 2012 @04:06PM (#3672877)
Given that vein of thought you can't really trust any software
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by chc on Tuesday March 06, 2012 @04:38PM (#3673015)
For everyone talking about JavaScript: As far as I can tell, this is fundamentally a CSS vulnerability. Something quite similar ought to be possible without JavaScript — it would just be a bit less elegant. For example, you could just make a pixel grid of divs to simulate mousemove events and position the fake cursor with CSS hover styles.
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by jonny_eh on Tuesday March 06, 2012 @04:49PM (#3673068)
Sounds plausible (and I'd love to see an example!), but would hardly be worth the effort if JS would catch 99% of the victims.
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by jackshepherd on Tuesday March 06, 2012 @04:49PM (#3673070)
Actually just CSS won't work in this case - because the Facebook Like button is within an iFrame. This works because Javascript cycles show/hide a transparant div above the Like button.
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by RandallBrown on Tuesday March 06, 2012 @03:38PM (#3672745)
I love it. It seems to work fine in Firefox, although the real cursor starts flashing when it's above the Like button.
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by jackshepherd on Tuesday March 06, 2012 @03:43PM (#3672768)
That's because there's a transparant DIV above the Facebook iFrame, cycling on/off every few milliseconds. This is required to maintain the fake cursor's position (without it when the real cursor was over the iFrame the 'fake' cursor would stop moving).
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by zxoq on Tuesday March 06, 2012 @03:42PM (#3672765)
In Chrome on Windows, it looks fine except when you're hovering over the button, when the real cursor suddenly appears.
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by pnewhook on Tuesday March 06, 2012 @03:43PM (#3672767)
This is brilliant, but now it's only a matter of time until it's in actual use. Sort of like how evercookie was a clever hack meant to call attention to privacy concerns, then was put into actual production sites.
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by Zirro on Tuesday March 06, 2012 @03:53PM (#3672813)
Do you have any examples of sites/companies that put the techniques into use as a direct result of Evercookie exposing them?

EDIT: Why am I being downvoted for this question? I am seriously interested, so that I can avoid contact with them.

Re:Cursor:none abuse (trick users into clicking Facebook 'li... by jackshepherd on Tuesday March 06, 2012 @04:12PM (#3672908)
I'm not sure if you can say that it's a direct result of Evercookie, but a number of high profile sites use this kind of tech - for example KissMetrics.com is used by a number of big companies, and they use ETAG cookies, Flash cookies - the lot.
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by hornbaker on Tuesday March 06, 2012 @06:38PM (#3673459)
And KissMetrics and their customers caught heat from it: http://www.extremetech.com/internet/91966-aol-spotify-gigaom...
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by superchink on Tuesday March 06, 2012 @03:37PM (#3672741)
Odd effect. I see two mouse cursors (Mac OS X 10.7.3 + Chrome Dev Channel).
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by rplnt on Tuesday March 06, 2012 @05:11PM (#3673172)
Same in Opera. I'd say it's not supported as it is quite malicious. Another example that comes to mind is changing the content of clipboard when users copies something. http://en.wikipedia.org/wiki/DOM_events#Microsoft-specific_e...
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by adriand on Tuesday March 06, 2012 @03:41PM (#3672761)
He mentions OS X Chrome specifically. I would quote him, but I can't cut & paste because my cursor is so messed up. ;) If you leave the window and come back in, it works better (temporarily).
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by jackshepherd on Tuesday March 06, 2012 @03:41PM (#3672764)
If you move the cursor outside of the Chrome window and then back in it seems to work on Chrome OSX
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by gebe on Tuesday March 06, 2012 @05:23PM (#3673219)
The same in Opera, both the original and the "fake" one are visible.
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by EmmanuelOga on Thursday March 08, 2012 @12:11AM (#3678664)
Speaking about prevention (for the specific case of the like button), I have privoxy (1) setup to disable fb plugins with rules like these:

{+block{Facebook "like" and similar tracking URLs.}} www.facebook.com/(extern|plugins)/(login_status|like(box)?|activity|fan)\.php

{+block{Stupid facebook xd_proxy.php.}} http://static.ak.fbcdn.net/connect/xd_proxy.php.*

The second one also removes an annoyance I see from time to time when I bypass the proxy which makes the page request again and again that xd_proxy.php file.

If I really want to like something, I disable the proxy and reload the page. I use Proxy SwitchySharp (2) for chrome to do the setup for me in pages I visit often.

1: http://www.privoxy.org/ 2: https://chrome.google.com/webstore/detail/dpplabbmogkhghncfb...

Re:Cursor:none abuse (trick users into clicking Facebook 'li... by mkopinsky on Tuesday March 06, 2012 @05:52PM (#3673314)
I tried clicking "Fork me on github" but couldn't because I couldn't position the real mouse pointer in the right place.
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by jusob on Tuesday March 06, 2012 @05:14PM (#3673190)
I guess I should use this as an opportunity to remind people of the "Zscaler Likejacking Prevention" plugin for Firefox/Chrome/Safari/Opera (check the corresponding add-on stores). I use the setting "Request confirmation for all Facebook widgets" so that it asked me for confirmation before sending the Like request.
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by ck2 on Tuesday March 06, 2012 @04:51PM (#3673077)
Good luck faking my inverted extra large windows cursor.
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by chrisacky on Tuesday March 06, 2012 @04:54PM (#3673091)
And I browse without JavaScript, so the CSS style that hid the cursor actually meant I didn't see any cursor whatsoever.
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by SquareWheel on Wednesday March 07, 2012 @01:26AM (#3674518)
Out of curiosity, aren't 90% of websites broken for you?
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by chrisacky on Wednesday March 07, 2012 @04:02AM (#3674862)
Yes and no. While I browse with JavaScript disabled, I have whitelist. Chrome v8 has a feature which allows you to prevent execution of scripts from a particular domain.

I've blacklisted all ad networks from executing and JavaScript but I maintain a strict whitelist which means that sites such as Facebook, Google, and any site which I browse and immediately see is broken is added to my whitelist.

When I browse a page, I can have conditional execution of the JS code, meaning that JS from 3 domains will run, but the 9 tracking JS code from all the ad networks won't run.

It's like the best of all worlds. Adnetworks can't fingerprint me, and they have to rely on cookies, plus my browsing is a hell of a lot faster because I don't have all the unneccessary JS downloading and running.

Re:Cursor:none abuse (trick users into clicking Facebook 'li... by SquareWheel on Wednesday March 07, 2012 @03:53PM (#3677164)
I see, thanks for the great explanation.

I admit the thought that some users aren't using JS concerns me because, while I try and always build sites with a fallback, it generally results in a lesser experience. Often fallbacks just aren't possible so I need to remove the feature altogether.

I bet there's a lot of sites that still work for you, but not quite as well as if JS were enabled.

Re:Cursor:none abuse (trick users into clicking Facebook 'li... by chrisacky on Thursday March 08, 2012 @03:54AM (#3679076)
Don't worry about users like me.

Make your content load, but anything above that, users are on their own if they decide not to enable JavaScript.

In this age, with all of the rich user applications, JS is practically a requirement.

For my startup, the frontend gracefully fallbacks to a working version for users.

For the backend, they get a blackscreen saying JS is required. If users are going to use my application, they should expect to have JS enabled for the best possible user experience.

Don't worry about it is the upshot!

Re:Cursor:none abuse (trick users into clicking Facebook 'li... by TheMiddleMan on Tuesday March 06, 2012 @04:40PM (#3673027)
I forked this to use a different exploit which takes advantage of pointer-events: none.

https://github.com/Rob-ot/Fake-Mouse-Cursor

Re:Cursor:none abuse (trick users into clicking Facebook 'li... by smackfu on Tuesday March 06, 2012 @05:05PM (#3673143)
Cursor:none makes it cleaner, but it's not necessary. You could use a lighter cursor like cursor:crosshair or cursor:text along with the fake cursor, and I bet most people will still click using the fake one.

In fact, even if you can't change the cursor at all, you could easily create a swarm of fake cursors that would frustrate the hell out of the user.

Re:Cursor:none abuse (trick users into clicking Facebook 'li... by justindocanto on Tuesday March 06, 2012 @04:27PM (#3672970)
I have some input on your todo list:

If you give an id (or class) to your p tag that contains the links you said you wanted to make easier to click, then you could use css and easily add a :hover state. Then on the hover state just make the cursor normal so it's easier to click those links. Upon mouseout the cursor will go back to 'normal'. =)

Re:Cursor:none abuse (trick users into clicking Facebook 'li... by jackshepherd on Tuesday March 06, 2012 @04:31PM (#3672993)
Thanks for that :) I was thinking of perhaps creating an invisible target for them with the same offset as the FB like/button, so that they could be clicked with the 'fake' cursor to enhance the effect!
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by cocoflunchy on Tuesday March 06, 2012 @04:41PM (#3673037)
I don't think I'm getting the desired result... my cursor disappears, and I all I see is a static one in the top left corner above a cropped "Like" button (in french though, that may be the problem). See here : http://imageshack.us/f/836/28545472.jpg/
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by natmaster on Tuesday March 06, 2012 @04:15PM (#3672920)
In Firefox, the cursor flashes above the like button. Still easy to miss, but certainly not bad as it seems Chrome is.
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by sikmajnd on Tuesday March 06, 2012 @04:56PM (#3673106)
and not to mention the lag when going over "clicky" button in ff
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by drucken on Tuesday March 06, 2012 @08:04PM (#3673766)
I have NoScript 2.3.1 in Firefox with the default settings, including Clearclick protection. I have no Facebook account and no scripting is enabled for this site, including JQuery.

The site is still able to disable my mouse over most of the screen.

Am I the only one?

Re:Cursor:none abuse (trick users into clicking Facebook 'li... by Maro on Wednesday March 07, 2012 @01:53AM (#3674585)
I use Ghostery to wipe out Facebook showing up elsewhere on the Internet.

http://www.ghostery.com

Re:Cursor:none abuse (trick users into clicking Facebook 'li... by dybber on Wednesday March 07, 2012 @02:54AM (#3674727)
Alternative using Adblock: http://adversity.uk.to/
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by downandout on Tuesday March 06, 2012 @10:42PM (#3674162)
Is this news? Likejacking has been around for well over a year. Google it.
Re:Cursor:none abuse (trick users into clicking Facebook 'li... by AznHisoka on Tuesday March 06, 2012 @04:55PM (#3673099)
Nice, can I use this to trick people into clicking an affiliate link instead?