Slashdot Mirror


Abusing HTTP Status Codes To Expose Private Info

An anonymous reader writes "Here's a neat technique for testing if people are logged into other websites. Examples for Facebook, Twitter, GMail and Digg are provided." Like we needed more reasons to use the Chrome incognito function.

133 comments

  1. HTTP 502 - Service temporarily overloaded by Anonymous Coward · · Score: 3, Informative

    Yes, that link is really neat!
    HTTP 502 - Service temporarily overloaded

    1. Re:HTTP 502 - Service temporarily overloaded by prxp · · Score: 1

      Slashdotted already? Damn!

    2. Re:HTTP 502 - Service temporarily overloaded by prxp · · Score: 3, Informative
    3. Re:HTTP 502 - Service temporarily overloaded by PseudonymousBraveguy · · Score: 1
    4. Re:HTTP 502 - Service temporarily overloaded by Steve+Max · · Score: 3, Informative

      I believe you're supposed to abuse the HTTP error code somehow to get the content.

      Corel Cache also works.

    5. Re:HTTP 502 - Service temporarily overloaded by Steve+Max · · Score: 0

      s/Corel/Coral/, obviously.

  2. Re:And let's not forget... by pbhj · · Score: 2, Informative

    Half the text is cropped by an overhanging left-menu if I use my normal text size. Gah!

  3. Re:And let's not forget... by The_Fire_Horse · · Score: 0

    I concur. And well done on getting the first post. It now takes 3-5 seconds to 'preview' a one line text post, so my days of first posting are clearly numbered! Maybe that was the intent?

  4. Re:And let's not forget... by Magada · · Score: 2

    Ha. Possible. My alternative theory is that the new site is using our computers to make BitCoin. I have one core pegged at 100% utilization by Firefox when browsing the site.

    --
    Something bad is coming when people are suddenly anxious to tell the truth.
  5. Incognito anyways by s1lverl0rd · · Score: 1

    This is quite scary. Though, I always use the Incognito mode when browsing sites I don't trust as much as others (ahem).

    1. Re:Incognito anyways by PseudonymousBraveguy · · Score: 4, Insightful

      I doubt that halps against the technique presented in TFA, because it does not depend on Cookies or anything that is blocked in Incognito mode. Basically, they only rely to a HTTP request to the site to be checked, using JavaScript to determine the HTTP status. Thus, disabling JavaScript helps. The Firefox Addon "Request Policy" should, according to the autor of TFA, help, too.

    2. Re:Incognito anyways by s1lverl0rd · · Score: 0

      Incognito mode does work, though. I think this techinque does actually depend on cookies. It checks whether you are logged in to Facebook, and Facebook checks wheter you are logged in or not by using cookies.

    3. Re:Incognito anyways by maxume · · Score: 1

      It depends on there being some authentication between your browser and the website being checked; for gmail, that's a cookie...

      --
      Nerd rage is the funniest rage.
    4. Re:Incognito anyways by Nursie · · Score: 1

      Right, so blocking content from facebook.com (and fbcdn.com) except when you're on a facebook.com page, ought to work?

      Adblock Pro gives me the ability to disallow content when it's "third party" and I already make use of this feature. If the page wasn't /.ed I'd give it a try...

    5. Re:Incognito anyways by MankyD · · Score: 1

      Incognito mode doesn't prevent cookies within the browsing session. It merely prevents them from persisting after private-browsing mode has ended. Hence, you can still log into sites that use cookies.

      --
      -dave
      http://millionnumbers.com/ - own the number of your dreams
    6. Re:Incognito anyways by Apatharch · · Score: 1

      The technique does depend on cookies (if indirectly), since social networking sites (and indeed any site using sessions) depend on cookies to maintain their sessions. Incognito mode doesn't block cookies; it just makes sure they're deleted once you close the browser, so it won't provide any defence against the "attack".

      Also, it would be straightforward to adapt the technique to work in IE by using AJAX requests instead of script tags to query the URLs to be checked.

    7. Re:Incognito anyways by PseudonymousBraveguy · · Score: 1

      Well, basically by disabling cookies Incognito mode loggs off your Facebook session, so the test (correctly) determines you are not logged in. Thus, you do not break the test itself.

      If that's the same thing is debateable, I admit. But as the technique's potential might go beyond checking Cookie-based logons, I think the difference is worth pointing out.

    8. Re:Incognito anyways by Sancho · · Score: 2

      You can log in, however it gives you a blank cookie jar to start. You would have to log in to Gmail from within Incognito mode in order for this site to detect you.

    9. Re:Incognito anyways by DavidTC · · Score: 2

      It disables existing cookies.

      If you go and log into Facebook within the Incognito session, yes, this trick will work. But it can't tell if you were logged in before that.

      --
      If corporations are people, aren't stockholders guilty of slavery?
    10. Re:Incognito anyways by RalphSleigh · · Score: 1

      You can't do cross domain xhttprequests, so you can't do it via AJAX.

      --
      Come as you are, do what you must, be who you will.
    11. Re:Incognito anyways by GameboyRMH · · Score: 1

      Yet another reason browsers need to sandbox sites from each other. No local file (cookie, flash cookie, DOM (HTML5) storage, browser cache, and of course URL history) should be accessible by any site other than the one that set it, in any way. If the HTTP requests were done in the same sandbox as the site performing them, they wouldn't have access to the other sites' cookies, and this problem wouldn't exist. This would also reduce the effectiveness of Facebook's and Google's tracking systems, but that's a good thing.

      --
      "When information is power, privacy is freedom" - Jah-Wren Ryel
  6. Re:And let's not forget... by Culture20 · · Score: 3, Insightful

    The new /. still sucks big time. Yeah. Mod me offtopic, why dontcha.

    More likely redundant since everyone knows it already.

  7. The idea behind it... by ashidosan · · Score: 5, Informative

    The technique involves using Javascript to load an image only available when logged in to one of these services, and checking the HTTP status code returned.

    Doesn't seem to be a ton of potential for abuse, but I suppose it's somewhat privacy-related.

    1. Re:The idea behind it... by toetagger · · Score: 5, Interesting

      I don't know... What if I would do this in my slashdot signature, trying to load a picture only available for people on the RIAA Intranet. Then I could show a different signature to the RIAA than to everyone else. Copy/Paste for FBI, your HR/employer, or even your spouse.

    2. Re:The idea behind it... by Anonymous Coward · · Score: 0

      1. A site owner could have a script report the status codes back to the server.
      2. An employer could check to see which sites people are logged on to.
      3. Sounds like a huge potential for xss.

    3. Re:The idea behind it... by acooks · · Score: 4, Informative

      Looks like you've just rediscovered the idea of cross-site scripting.

      Wikipedia says:
      "Cross-site scripting (XSS) is a type of computer security vulnerability typically found in web applications that enables malicious attackers to inject client-side script into web pages viewed by other users. An exploited cross-site scripting vulnerability can be used by attackers to bypass access controls such as the same origin policy. "

    4. Re:The idea behind it... by natehoy · · Score: 3, Informative

      Precisely why a lot of discussion boards do not allow images in their signatures, especially third-party images. Also why so many companies used to offer "free counters" and "enhanced email with images" (a' la IncrediMail) and whatnot as long as they were served from THEIR site. You can collect a lot of information about users of a site without the complications of having to compensate the site owners or having them cooperate with you.

      --
      "This post contains words, known to the State of California to cause thought. Wash brain thoroughly after reading."
    5. Re:The idea behind it... by AmiMoJo · · Score: 1

      If you know someone has an account on FB/Google/Hotmail/PayPal and are currently logged into it you could try using a phishing attack. PayPal in particular keep demanding your password if you are inactive for five minutes. History shows that users see password prompts simply as barriers to what they want to do and so will mindlessly type their secret into any vaguely official looking box.

      Law enforcement could use it to detect people with accounts on illegal sites too, e.g. Twitter or Facebook in countries where they are banned.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    6. Re:The idea behind it... by binkzz · · Score: 1

      I don't know... What if I would do this in my slashdot signature, trying to load a picture only available for people on the RIAA Intranet. Then I could show a different signature to the RIAA than to everyone else. Copy/Paste for FBI, your HR/employer, or even your spouse.

      Except that this is a different method altogether. It's always been possible to push different contents based on different IPs, but this is about being able to tell whether or not you're logged into certain websites or not.

      --
      'For we walk by faith, not by sight.' II Corinthians 5:7
    7. Re:The idea behind it... by ashidosan · · Score: 1

      How would this technique add any useful information to law enforcement's monitoring in countries with banned sites? Assuming I owned the HTTP stream (literally), I could discover pretty much whatever I want without resorting to this.

      Look what happened in Tunisia. Since they literally owned the HTTP stream, they just injected code to harvest personal information. XSS protection is useless if the basic stream is compromised.

    8. Re:The idea behind it... by petermgreen · · Score: 1

      What if I would do this in my slashdot signature

      I don't think /. allows javascript in signatures.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    9. Re:The idea behind it... by rjstanford · · Score: 1

      Compute cycles are cheap when you're running a script on someone else's computer. Why not just try it anyway? If they're not logged in, it won't work. If they are, it will. Checking to see whether or not you think it will work is only useful if you care about the user you're about to rob.

      --
      You're special forces then? That's great! I just love your olympics!
    10. Re:The idea behind it... by Canazza · · Score: 2

      There was a similar technique that determines if a site has been visited, using user history and CSS. creating a bunch of links and using the :visited CSS tag then use javascript to loop through the links to determine their visited status (ie, using width, or padding, or colour set by the CSS)

      The images thing seems to be along the same lines, as far as privacy issues go anyway.

      --
      It pays to be obvious, especially if you have a reputation for being subtle.
    11. Re:The idea behind it... by Anonymous Coward · · Score: 0

      > Compute cycles are cheap

      Are they more or less expensive than computation cycles?

      I suppose by avoiding the branching to select a noun instead of a verb they can avoid a few instructions.

    12. Re:The idea behind it... by Anonymous Coward · · Score: 0

      You can already do that just by checking the IP address, user agent, etc.

      Haven't you seen those signature images that show things like "Your IP address is x.x.x.x and you're using Windows you stupid twat"?

    13. Re:The idea behind it... by AmiMoJo · · Score: 1

      Say the person logs in over a VPN or Tor. The cookie they get to be logged in is the same as an unencrypted connection so it could be used to determine if they were circumventing blocks or trying to hide their actions online.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    14. Re:The idea behind it... by whoever57 · · Score: 1

      And it doesn't work in all cases. It could not detect that I am logged into gmail.

      --
      The real "Libtards" are the Libertarians!
    15. Re:The idea behind it... by sjames · · Score: 1

      Because even the people who mindlessly type in their password to anything that looks vaguely like their paypal account might wonder if they either don't have a paypal account or haven't gone to paypal. You don't want them reporting your site too soon.

    16. Re:The idea behind it... by Instine · · Score: 1

      hardly. Most iof not all f these services offer JSONp calls that allow you to check more than just if someone on this browser is lgged in, but who they are.:

      http://developers.facebook.com/docs/api XSS magic supplied by FB

      --
      Because you can - or because you should?
  8. Re:And let's not forget... by Anonymous Coward · · Score: 1

    I only *have* one core, you insensitive clod!

    (and yes, it's very nicely pegged at 100%.)

  9. Incog Newb by leather+hides · · Score: 1

    I've never really used incognito in chrome, maybe I should start...

    1. Re:Incog Newb by Lennie · · Score: 1

      Why ? It does not solve this problem.

      --
      New things are always on the horizon
  10. Not quite by Suki+I · · Score: 0

    It might not work as well as they think. I got this as I read down a bit:

    First of all. Lets check if you're logged into GMail right now (not including Google Apps)... (Yes, you are logged in).

    Actually, I am browsing with Chrome, but have not opened GMail in this session at all, not once since the reboot. Maybe it is something Chrome is doing, since I get "No, you're not logged in" while using the incognito window.

    1. Re:Not quite by ArcherB · · Score: 3, Interesting

      It might not work as well as they think. I got this as I read down a bit:

      First of all. Lets check if you're logged into GMail right now (not including Google Apps)... (Yes, you are logged in).

      Actually, I am browsing with Chrome, but have not opened GMail in this session at all, not once since the reboot. Maybe it is something Chrome is doing, since I get "No, you're not logged in" while using the incognito window.

      If you are using your gmail account to download bookmarks, custom home page or whatever Chrome may be logging into gmail for, it may throw off the result.

      However, in saying that, I noticed that it reported me logged into Facebook, which I am not, nor have I since my last reboot. I'm running Firefox 3.6.13.

      --
      There is no "I disagree" mod for a reason. Flamebait, Troll, and Overrated are not substitutes.
    2. Re:Not quite by Anonymous Coward · · Score: 0

      If you have the gmail checkerextension in chrome active you are actually always logged in to your google account even if you are just browsing to google.com (search) or some other page.

    3. Re:Not quite by Pteraspidomorphi · · Score: 3, Insightful

      Your login info could be stored in a cookie, in which case his image request will use the cookie info and automatically log you in.

    4. Re:Not quite by Anonymous Coward · · Score: 0

      It said the same thing about twitter for me. I do not have a login, and even if I did, it is filtered here.

    5. Re:Not quite by Thelasko · · Score: 1

      I received a similar message for Facebook further down the page. I have never, ever logged into Facebook on this machine.

      --
      One of our competitors trademarked the term "hypothesis". From now on, we will call them "boneheaded ideas".
    6. Re:Not quite by oodaloop · · Score: 2

      It said Yes for me (after I allowed the site in NoScript in FireFox), even though I don't have gmail open. I did have iGoogle and Google Voice up, which use the same ID. I guess any page that uses the Google log in would show a Yes, after javascript is turned on. Yet another reason to use NoScript for me.

      --
      Tic-Tac-Toe, Global Thermonuclear War, and relationships all have the same winning move.
    7. Re:Not quite by Kakao · · Score: 1

      And it told me I was not logged into Gmail while I was. Firefox 3.6.13.

      --
      2011. The year Gnome decided Linux will never be on the desktop.
    8. Re:Not quite by dzfoo · · Score: 1

      And the point is not necessarily to know if you're logged in, but that you are a Facebook user (because your browser acknowledges that it is or has logged in).

      Therefore, it succeeded.

            -dZ.

      --
      Carol vs. Ghost
      ...Can you save Christmas?
    9. Re:Not quite by Anguirel · · Score: 1

      Firefox and Chrome both have options to "Save Your Session" when you log out. Most people tend to have these on, because they're remarkably convenient. However, it means Session-Only cookies are not deleted on browser close (or even a computer reboot). If you open Firefox and all your old tabs open right back up with where you were last time you were on, you probably have this enabled. So even if you haven't logged in to a given website in a couple weeks, you may still be "logged in" as the previous login session cookie has persisted.

      --
      ~Anguirel (lit. Living Star-Iron)
      QA: The art of telling someone that their baby is ugly without getting punched.
  11. Re:And let's not forget... by HarrySquatter · · Score: 3, Insightful

    It now takes 3-5 seconds to 'preview' a one line text post,

    Wow, that's an improvement to before where it would take upwards of 10-20 seconds for the preview to finish.

  12. The cached version by antido · · Score: 4, Informative

    Is here.

  13. Slashdotted. by janestarz · · Score: 1

    Slashdotted. I guess everyone was curious!

    1. Re:Slashdotted. by gibletparade · · Score: 1

      No, they used "ERR_CONNECTION_RESET" to siphon your bank account.

  14. Re:And let's not forget... by Magada · · Score: 2, Insightful

    Everyone except those who should fix it, apparently.

    --
    Something bad is coming when people are suddenly anxious to tell the truth.
  15. How it works by mazesc · · Score: 5, Informative

    As the page is slashdotted, I just wanted to post how it is done here:

    For GMail, he added an image to his own GMail account, which he set to "visible for everyone". On his own site he added an invisible img and tries to access the image in his GMail account. He then triggers a javascript function depending on the outcome of the img inclusion (onload or onerror), so he can make the decision, if the visitor of his website is logged in to GMail.

    For Facebook, Twitter and Digg he uses http status codes. He tries to access some URL (https://www.facebook.com/imike3) via javascript and depending on the status code he gets, he can decide whether you are logged in or not. This attack doesn't work with IE or Opera, because they do not trigger the onload/onerror events when receiving invalid js.

    1. Re:How it works by Anonymous Coward · · Score: 0

      The real issues seems to be that JavaScript is allowed to access information about a resource loaded from a different origin than the JavaScript code. Information such as HTTP response code or MIME type. Which is worsened by how simple onerror makes it for the coder to access that info (no need to employ AJAX, just write onerror="call_my_func()").

      If this violates same origin policy for JavaScript, it's a security hole and should be plugged. But apparently Google told him that it's "expected behavior".

    2. Re:How it works by Trailer+Trash · · Score: 2

      It's expected behavior. Many many sites uses javascript or images loaded from elsewhere. Google Analytics, the little badges that say that your site cert is good, on and on.

    3. Re:How it works by tlhIngan · · Score: 1

      It's expected behavior. Many many sites uses javascript or images loaded from elsewhere. Google Analytics, the little badges that say that your site cert is good, on and on.

      So... does this mean things like NoScript automatically prevent the issue? I already put google-analytics on the blacklist so it's never displayed in the NoScript menu and the like.

    4. Re:How it works by VJ42 · · Score: 1

      So... does this mean things like NoScript automatically prevent the issue?

      Yep - all his proof of concepts needed javascript turned on for his domain.

      --
      If I have nothing to hide, you have no reason to search me
  16. Re:And let's not forget... by roka · · Score: 3, Informative

    You could write your own CSS or get an existing one

  17. A little bit of No Script goes a long way by Anonymous Coward · · Score: 1

    The "Hack" seems to only work when scripts are enabled for the full base of a particular website. If I only enable static.ak.fbcn.net, I can still use facebook functionality but this "hack" can't tell that I'm logged in. The point of my story is if you're using Firefox with NoScript (and you have a vague idea what you're doing), you're still safe. I'm still wary of using Chrome.

  18. Um...no? by chill · · Score: 1

    It says I was logged into GMail (correct) and Facebook (incorrect).

    Not only do I not have a Facebook account to be logged in to, the computer I'm using has never directly gone to facebook.com. Other sites may have inlined facebook stuff, but I still don't have an account there.

    So what gives? No, no one else uses this computer. Yes, I am absolutely, 100% certain.

    --
    Learning HOW to think is more important than learning WHAT to think.
    1. Re:Um...no? by JThaddeus · · Score: 1

      It said I was not logged on to either GMail or Facebook although I was.

      --
      "Love is a familiar; Love is a devil: there is no evil angel but Love." --William Shakespeare ('Love's Labors Lost')
    2. Re:Um...no? by panth13 · · Score: 1

      The one that i was logged into (GMail), stated I wasn't. It only got the ones correct that I wasn't logged into, perhaps because it doesn't work? I was using FF. I also call BS. -B

    3. Re:Um...no? by webbiedave · · Score: 2

      You didn't say which browser you are using. The article states that the facebook/twitter detects don't work in IE or Opera.

    4. Re:Um...no? by Anonymous Coward · · Score: 0

      you can be logged into gmail without actually viewing the page as it stores a validation cookie that is used in their authentication process.

    5. Re:Um...no? by Anonymous Coward · · Score: 0

      > detects don't work in IE

      Detections. Don't schools teach the difference between verbs and nouns any more?

    6. Re:Um...no? by Anonymous Coward · · Score: 0

      I was going to guess lynx but that's just me.

    7. Re:Um...no? by Anonymous Coward · · Score: 0

      It is Firefox.

      BTW. you could've guessed i'm not using IE or Opera by looking at my email address :P

      You just said you're posting from work. A lot of people don't get to choose their work browsers.

    8. Re:Um...no? by Anonymous Coward · · Score: 0

      Were you on the actual site, or the cached page?

    9. Re:Um...no? by Bwian_of_Nazareth · · Score: 1

      Well, if you read how the trick works, then you will understand why "blocked by company fw" explains that... Error on loading the images indicates you are logged in.

    10. Re:Um...no? by coolmadsi · · Score: 1

      You didn't say which browser you are using. The article states that the facebook/twitter detects don't work in IE or Opera.

      They didn't work in Firefox for me. Had to disable AdBlock and the Facebook one still didn't work (but thats blocked at work). Twitter worked after disabling ad block though even though I've not been on it today.

  19. Re:And let's not forget... by Yvan256 · · Score: 2

    I don't see how his comment is flamebait. Increase your font size, you can easily replicate the bug he mentioned.

  20. Isn't this just CSRF ? by Anonymous Coward · · Score: 0, Insightful

    Cross-Site Request Forgery ?

    1. Re:Isn't this just CSRF ? by dzfoo · · Score: 1

      Yes. Next!

      --
      Carol vs. Ghost
      ...Can you save Christmas?
  21. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  22. Nope by kevind23 · · Score: 1

    This doesn't work at all. I'm logged into Gmail and Facebook, neither of which it detected.

  23. Ho hum by davidbrit2 · · Score: 1, Informative

    Another day, another guy thinking CSRF is something new.

  24. No, I am not by kreuzotter · · Score: 1

    I was logged into Slashdot and that bloody web page said I was logged into facebook. I would NEVER use facebook. Damn liar....mumble mumble

    1. Re:No, I am not by webmosher · · Score: 1

      I suspect this method has a "bug" or its not working as expected in Chrome:
      1) I am logged into Google apps, but it says I am not.
      2) I do not have a twitter account, but it says I am logged in (and its blocked by Websense).

      Something odd is afoot.

    2. Re:No, I am not by Zenaku · · Score: 1

      He states that the Gmail version doesn't detect if you are logged into Google apps.

      I suspect that his technique shows you as being logged into twitter BECAUSE it is blocked by Websense. His method for detecting a twitter login relies on attempting to access a twitter URL and looking at the HTTP status code that comes back. In your case Websense is not allowing the connection to twitter, but it is returning a valid HTML page with an OK status -- the page that says you've tried to access a site that is blocked.

      --
      If fate makes you a motorcycle, you become a motorcycle.
    3. Re:No, I am not by nightpool · · Score: 1

      2) I do not have a twitter account, but it says I am logged in (and its blocked by Websense).

      He tests if you CAN'T access a page to test for twitter (logged-in users can't access the page but non-logged in users can), which is a problem if it's blocked for other reasons.

  25. I wouldn't call this status code abuse by Anonymous Coward · · Score: 2, Informative

    This is a javascript thing, not a problem with HTTP result codes. And a cookie problem too.

    The idea here is that your page offers a script to the user, the user elects to execute this script with his own permissions, and the script requests resources from some other website and either fails or succeeds, and that success/failure implies certain facts about the user.

    But when you describe it like that, does the fact that success/failure is detected, really look like the dangerous and scary part, or do your eyebrows go up just a little bit higher at the idea of people downloading and executing scripts as themselves?

    And then look deeper and think about what the cookie is. Facebook and gmail offer you a cookie to send with future page requests as login credentials instead of having to enter a username/password or session identifier on every single page; that cookie is yoursand you are responsible for it and it shouldn't be sent out just whenever anyone wants to use it. And yet an img tag on some other website's page causes behavior that results in your cookie being sent to facebook? That's pretty much the essence of CSRF.

    So we've got people running untrusted scripts, doing it as themselves, and CSRFs happening. And you're calling attention to HTTP status codes? Sheesh. That final tiny bit of the puzzle is insignificant.

    1. Re:I wouldn't call this status code abuse by Lennie · · Score: 1

      The real solution is to set a cookie with a path on the site where people are logged in and not have any images in that path on the webserver.

      --
      New things are always on the horizon
    2. Re:I wouldn't call this status code abuse by Lennie · · Score: 1

      Or use a different domain ofcourse.

      --
      New things are always on the horizon
    3. Re:I wouldn't call this status code abuse by Lennie · · Score: 1

      I re-read part of the article, seems not all browsers check if it is valid javascript if a script-tag is used. I consider that a browser bug.

      --
      New things are always on the horizon
  26. CsFire Blocks by Anonymous Coward · · Score: 0

    The example script correctly showed me being logged in on Facebook.
    Glad it did, made me realize that I'd forgotten to turn CsFire back on for God knows how long.
    Now it falsely states that I'm not logged into Facebook. What'd I do without my tinfoil-firefox-plugins?

  27. Or just use NoScript w/ FF by 228e2 · · Score: 3, Informative

    First of all. Lets check if you're logged into GMail right now (not including Google Apps)... (Please enable JavaScript).
    Are you logged into Twitter ? (Please enable JavaScript)
    Are you logged into Facebook? (Please enable JavaScript)

    :o

    --
    Since when does being a Socialist mean 'someone who has a different opinion than me'?
    1. Re:Or just use NoScript w/ FF by tim_gladding · · Score: 1

      NoScript FTW

    2. Re:Or just use NoScript w/ FF by Anonymous Coward · · Score: 0

      "There may be more comments in this discussion. Without JavaScript enabled, you might want to turn on Classic Discussion System in your preferences instead."

    3. Re:Or just use NoScript w/ FF by EkriirkE · · Score: 1

      New version of NoScript to install on every single FF launch FTL

      --
      from 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
      to 45 2F 6E 40 3C DF 10 71 4E 41 DF AA 25 7D 31 3F
  28. This is just a CSRF attack by brunes69 · · Score: 3, Informative

    The author of this article seems to have discovered the CSRF attack. Congratulations and welcome to the year 1990.

    http://en.wikipedia.org/wiki/Cross-site_request_forgery

    1. Re:This is just a CSRF attack by moderatorrater · · Score: 1

      That's exactly what he's done. I'm surprised more people aren't yawning over this. I remember when this was demonstrated only showing your gmail contacts instead of just whether you're logged in or not.

      The only novel thing he appears to have done is trying to load a static resource that requires you to be logged in. I haven't seen it done this way before, but it's a small refinement on an existing attack, not a novel attack.

    2. Re:This is just a CSRF attack by Anonymous Coward · · Score: 0

      Worse yet the AS thinks you need Chrome to be safe.

    3. Re:This is just a CSRF attack by Anonymous Coward · · Score: 2, Insightful

      Pray tell, how would one have executed a CSRF attack in 1990?

    4. Re:This is just a CSRF attack by Anonymous Coward · · Score: 0

      It was before the eternal september. Anything was possible before the eternal september.

    5. Re:This is just a CSRF attack by brunes69 · · Score: 1

      The same way one does in 2011?

  29. Re:And let's not forget... by BrokenHalo · · Score: 1

    Alternatively, if you don't like the new interface, you could go into your /. preferences and change the interface to "Classic". After all, that dynamic content does nothing to improve the content.

  30. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  31. Sort of... by self+assembled+struc · · Score: 1

    Only he thinks I'm logged into Facebook. But I don't have a Facebook account, so I can't be. And this is my work computer which gets locked when I leave my desk so no one else has logged in (plus I have an office door that I lock behind me).

    *tin foil hat time*
    I even have *facebook.com and *fbcdn* blocked in AdBlockPlus though since I don't really want Facebook building a user-profile about me with all those nefarious "like" buttons it got chumps to place on none-facebook sites. They dont' need to know what articles I read on the NY Times and correlate to what articles I read on Wired cross-referenced with the articles I read on Slate.

    So, really, this "sort of" works, but you can't rely on it.

    1. Re:Sort of... by Josef+Meixner · · Score: 1

      There is perhaps a simple explanation for it, as the script only checks the return code and not the contents, an error page created by a corporate firewall (or something similar which blocks facebook with some explaining page) could also return 200 instead of an error and it would show you as logged in.

  32. It is wrong. by Anonymous Coward · · Score: 0

    I am logged into gmail, and the article says I am not.

  33. Article not entirely correct by rs1n · · Score: 1

    I read the article and tested if the code works -- and it does. However, the article is somewhat misleading -- or at least I found that it was not as clear as it should have been with "logged in."

    For example, I logged into my gmail account, and close the tab without logging out. The code from the article shows that I am still logged in -- true from a technical standpoint, but I closed out the gmail tab already. Likewise with facebook. However, all the code can really do is test whether or not the current computer you are using had previously had an account logged in (and is still logged in). It does not know that it is my account, or my wife's account, etc.

    To use this code to check a user's online status -- well, you run into the same problem as aforementioned. So you can't even use the information to get useful browsing information about the current user. At best, you can say that the current user is using a machine that has had a gmail account logged into it, etc.

  34. Worse than you think by xkr · · Score: 2

    I did a small amount of testing and it appears to me that this technique permits more leaks of user's behavior than stated directly in the article.

    Lots of websites leave you "logged in" for a while, including /. This means that the user does not have to have an open page or tab, and may not perceive that he or she is actually "logged in." For example, amazon.com.

    These sites produce a different page and results for certain actions depending on that status. It looks like Cardwell's method could detect this difference. Suppose you knew what shopping sites a user preferred? First, that provides likely demographic and gender information. Second, if in fact you were able to steal login credentials you would know immediately where you could use them. Third, you could use that information for social engineering in phising fraud. Fourth, you could promote your particular item for sale, on say, ebay or amazon.

    Click that logout button, cowboy!

    --
    I will create a sig when innovation restarts in the U.S.
    1. Re:Worse than you think by moderatorrater · · Score: 1

      This is a standard CSRF attack that leaks less data than most. The potential for abuse is far smaller than the potential for abuse with any of the attacks that leak your browser history.

  35. There is always the NoScript plugin. by steeleyeball · · Score: 1

    When I learned about cross site scripting I insalled Noscript right away.

  36. Known in 2008 and blogged by mrkitty · · Score: 2
    --
    Believe me, if I started murdering people, there would be none of you left.
    1. Re:Known in 2008 and blogged by datsa · · Score: 1
  37. Article screws with Twitter style settings by Anonymous Coward · · Score: 0

    Something in the code of the page this story links to is managing to revert my Twitter style to the "old style". I haven't dug into it and don't plan to. Just sayin'. I can reproduce it all day. I am guessing whatever URL they're hitting to detect if you're logged in to Twitter is the culprit.

  38. Somebody submit a bug report by omnichad · · Score: 2

    I really can't believe this hasn't been solved for Firefox. The fix is really simple - if the content-type of the request is not javascript, then fire the onerror condition as well.
     
    The other worrying thing is that you can perform actions that impersonate the user as long as they use GET requests. For example, I can log you out of Slashdot by putting the logout URL as the javascript source. I don't really see a way around that other than using HEAD requests for 3rd-party domains.

    1. Re:Somebody submit a bug report by mgiuca · · Score: 1

      That wouldn't work for the Google example -- the content-type of the <img> is an image type. Similarly, if the site was actually serving JavaScript only to logged-in users, you could request one of those resources in the <script> tag.

    2. Re:Somebody submit a bug report by omnichad · · Score: 1

      I believe you didn't read it clearly.

      It's a script tag pointing to an image at Google INSTEAD of a script file:
      <script type="text/javascript" onerror="logged_in()" onload="logged_in()" src="http://someimageatgoogle"></script>

      It was returning successful when the content loaded, regardless of the actual content-type returned. Even though, instead of text/javascript, it actually returns image/gif and binary data, the event handlers return based on the HTTP status code rather than the success of actually loading Javascript code.

    3. Re:Somebody submit a bug report by omnichad · · Score: 1

      Sorry - one of those logged_in() should have read not_logged_in()

    4. Re:Somebody submit a bug report by mgiuca · · Score: 1

      No -- the Facebook and Twitter ones work like that. The Gmail exploit, in TFA, is the following code:

      <img style="display:none;"
                onload="logged_in_to_gmail()"
                onerror="not_logged_in_to_gmail()"
                src="https://mail.google.com/mail/photos/static/ <snip to avoid Slashdot filter >" />

      So it's an image loading an image, just from a different domain.

    5. Re:Somebody submit a bug report by Anonymous Coward · · Score: 0

      GET actions are meant to be safe. That means if a website can do any meaningful action (I.e. modify a database) by GET variables, it has been coded very wrong. Note, logout isn't considered unsafe over GET

  39. Re:And let's not forget... by GameboyRMH · · Score: 1

    To be fair, that's because designers don't expect people to use non-standard font sizes in an age of browsers that have full-page zoom capability (although it's a good idea to make sure at least +/-2 font size works...I have to push it to +4 to get the text under the left menu), and getting text to wrap on web pages is generally a total bitch, and will continue to be until CSS3 rolls out.

    --
    "When information is power, privacy is freedom" - Jah-Wren Ryel
  40. One Session per Tab/Window... simple? by Anonymous Coward · · Score: 0

    Pretty straightforward (however bloated) make a completely separated logical session per tab/window including their leafs of course (other tabs/windows generated by the primary one).

    Think of a new browser concept where you can't load another page in 'just a tab' on your screen if that tab is already associated to a session/tab group

    Dry Isolate cookies and all session information per logical session handler.

    Is asks for quite a but of work but it's not impossible. It can also allow functions like "open an incognito tab" (not an entire new browser) when desired.

    1. Re:One Session per Tab/Window... simple? by Archwyrm · · Score: 1

      Easy to do with a browser like uzbl.

      --
      Fascism should more properly be called corporatism because it is the merger of state and corporate power. -- Mussolini
  41. Surprise.... FTTA by digitalPhant0m · · Score: 1

    Perhaps http://oppressive-regime.example.org/ would like to collect a list of their users who are logged into http://controversial-website.example.com/?

    I don't think "oppressive-regime.example.org" would bother with a cheap exploit like this.
    The fact of the matter is that since they're the regime, they control the network, and are already sniffing your packets.

  42. Please remove this malicious post by Anonymous Coward · · Score: 0

    This post should be removed or re-worded. I clicked on the link expecting to read a NEWS STORY about a malicious attack, not A MALICIOUS ATTACK ITSELF. Besides the fact that it's simply a form of viral advertising the author likely submitted himself to sell his book, the site it directs to does the very thing it warns against. It invades our privacy.

    Would we tolerate someone warning about a new virus and then saying "by the way, if you're reading this, I infected your computer five minutes ago"?

    The website author, whomever anonymously posted it here, and the Slashdot editors should be ashamed.

  43. Its called a visible web bug by Anonymous Coward · · Score: 0

    and if you redirect from a webbug, you can do more than see if someone is logged in - basic XSS evil

  44. Re:And let's not forget... by AlterRNow · · Score: 1

    I can only get all the comments to display if I don't have the "Classic" interface. When I select it, only the first comment (and the first child of each comment under it) show up.

    Perhaps they have the same issue?

    --
    The disappearing pencil trick. Let me show you it.
  45. Re:And let's not forget... by nagnamer · · Score: 1

    It still takes 10-20 here.

    --
    Every harsh word you utter has the right address. It only sounds harsh because the one on the envelope is the wrong one.
  46. Interesting that IE didn't fall for all of it... by Anonymous Coward · · Score: 0

    Discuss among yourselves: does 10 years of unrelenting shaming result in a more resilient product?

  47. Re:And let's not forget... by badkarmadayaccount · · Score: 1

    It also kinda screws up global CSS, in my case, black background, light text:pitch dark companion. Come to think of it, wikipedia does too...

    --
    I know tobacco is bad for you, so I smoke weed with crack.
  48. Re:And let's not forget... by Yvan256 · · Score: 1

    But do all browsers have full-page zoom? And is it the default setting?

  49. Re:And let's not forget... by GameboyRMH · · Score: 1

    Yeah I'm pretty sure that's the default on all the latest browsers.

    --
    "When information is power, privacy is freedom" - Jah-Wren Ryel