Slashdot Mirror


Yahoo! XSS Flaw Endangers its Users

Rarely Greys writes "A major Yahoo XSS flaw makes it possible to take over any Yahoo user's account, including their mail, instant messaging, photos, etc. This is not a rare occurrence. So why aren't web sites doing more to protect their users? It's looking like most web developers don't even know or care about XSS."

16 of 157 comments (clear)

  1. Re:I fail to see how is this related to XSS by phantomcircuit · · Score: 4, Informative

    You are in fact wrong. The cookie is sent through a form which is not affected by whether third party cookies are enabled or disabled. It should be noted that this flaw has already been fixed...

  2. Use some library/package or something by cerberusss · · Score: 4, Informative

    It's not a shame to admit you know zilch about XSS. But at least use a library/package/class or something which prevents these flaws. For instance for the PHP developers, there is HTML_Form, which includes a unique hidden form field each time a form is generated thus preventing some XSS.

    --
    8 of 13 people found this answer helpful. Did you?
  3. Re:I fail to see how is this related to XSS by Carewolf · · Score: 2, Informative

    Most sane browsers have this OFF by default.


    Does this include IE?


    Yes, since IE6, I believe.
  4. Not so sane or OFF in Firefox 2 by Alcoholic+Synonymous · · Score: 4, Informative

    Firefox 2 changed the way the cookie preferences worked. You can only choose to allow or disallow all cookies through the options menu. To actually block just 3rd party cookies the way you could in 1.5, you have to fool around with obscure about:config settings.

    Set network.cookie.cookieBehavior to "1"

    http://kb.mozillazine.org/Network.cookie.cookieBeh avior

  5. Oh... and NoScript... by Alcoholic+Synonymous · · Score: 5, Informative

    The NoScript addon has Yahoo as one of their exemptions to its anti-XSS protection by default.

  6. Re:Ouch.. by ensignyu · · Score: 2, Informative

    However, you should also be aware of the related XSRF (cross-site request forgery) attack, which can actually be done from a different site. For example, someone on your site says "Hey, go to myevilsite.com", and then when you view the page it uses Javascript to auto-submit a form pointed at your site. If that form happens to be "delete account" and you don't have any protection (such as a generated form ID that only legit forms from your site would have, or requiring a password), there could be trouble.

  7. Re:I fail to see how is this related to XSS by An+Elephant · · Score: 1, Informative

    You're reading his code wrong, and third-party cookies are not required.

    It's not what I would call "XSS" (those, I thought, had to do with code on one frame or tab accessing objects on another, and are therefore browser problems, not site problems); it's a JavaScript injection vulnerability. The link generated by the Ruby script, allegedly, inserts JavaScript code into a Yahoo page. This code is then executed with the same permissions as Yahoo code, and what it does is read your Yahoo cookies and submit them to some other site as request arguments.

    The Perl code then parses the submitted data into cookies and pretends to be Firefox accessing Yahoo with your cookies.

  8. Re:Ouch.. by zaunuz · · Score: 2, Informative

    session is automaticly aborted if HTTP_REFERRER is something else than a website on my server, or the CGI-script itself. Not really a strong way of countering such attempts, but combined with alot of other smaller things that i've implemented, it has proven useful.

    --
    this is probably the most boring sig in the world
  9. Re:I fail to see how is this related to XSS by VGPowerlord · · Score: 2, Informative

    It's not what I would call "XSS" (those, I thought, had to do with code on one frame or tab accessing objects on another, and are therefore browser problems, not site problems)

    As I understand XSS, it is any vulnerability that lets one inject code, usually javascript, into output from one site, causing data to be sent to another site. In my experience, it is usually caused by a site not filtering input correctly rather than a problem with a browser.
    --
    GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
  10. Re:SIMPLE SOLUTION by Delirium+Tremens · · Score: 3, Informative
    No, pairing session ID with the IP address of the client does not work. That has been known by experts for a long time.

    For those who are not in the know, the problem with that particular solution attempt is that a vast majority of dialup users (AOL-ers, for example) sit behind a dynamic pool of web proxies that can have their IP address reassigned at anytime during the same dialup connection, and therefore during the same browsing session.

  11. Sanitizing user imput is the most important part by Spliffster · · Score: 5, Informative

    If you want to secure your systems, make sure you do not allow userinput with certain tags (assuming this input is displayed later on in a html page).

    Tags like script, iframe, link, style, embed, object _MUST_ be stripped in an untrusted environment. why you may ask: script, iframe, link allow external references (for example injection of code of remote sites which you can not easily check).

    script itself is the most evil tag because it allows an attacker to access any element in a page, modify it and inject further remote scripts not stored on your server.

    ie interprets javascript and vbcode in style tags /me *shudders* (not sure if this is still true in IE7, in quriks-mode however i am pretty sure this still works in ie7 and non standard compliant mode AKA quirks-mode is the default for most IE only or IE targetted sites).

    embed and object tags are used to insert java and activeX code, I guess I do not have to say much about those two techniques, it's again about inserting remote code at runtime.

    iframe is, by nature, a fairly secure tag. it can not harm the users page much but it can be used to trick the user in believing to be on another page/site or trick him in any other way. plus, many IE versions had security holes where scripts could travel up from iframe into its parent document to manipulate data from another domain (crossite ;)

    There might be some potentially evil tags missing in my list, this is just from the top of my head.

    I usually go the other way, instead of restricting tags i define a white-list of tags which are useful for formatting reasons such as strong, em, front, etc. this seems to be a much more controllable way.

    HTH,
    -Simon

  12. Re:Sanitizing user imput is the most important par by Koen+Deforche · · Score: 2, Informative

    Although sanitizing user input gets the job done, what one should be doing is sanitizing the output .

    An XSS attack exists because you are dynamically generating a web page with content you didn't intend: which contains executable script instead of where you intended dumb text (that you got from a database or that was entered earlier on by a (another) user). Sanitizing user input (which is the only factor you don't control) will help but if I enter <script>1+1</script> as some comment on for example a JavaScript forum, I would expect it to appear like that !

    The definite solution to getting rid of XSS attacks is to use a modern toolkit that actively prevents this without ANY effort from the programmer. Like Wt for example does.

  13. Re:I fail to see how is this related to XSS by morgan_greywolf · · Score: 4, Informative

    Yes, since IE6, I believe.

    Um, no. Neither IE6 nor Firefox 2 block 3rd-party cookies by default. In IE6, one can turn off 3rd party cookies with Tools -> Internet Options -> Privacy Tab -> Advanced. Check override automatic cookie handling, and then under Third Party choose Block or Prompt.

    In FF 2.0, you need to do an about:config and set network.cookie.cookieBehavior to 1.

    Any questions?
  14. Re:Responsible disclosue? by trianglman · · Score: 3, Informative

    Whether it was disclosed to Yahoo directly or not, it has already been fixed (at least when I tested it in Firefox). I don't know about most of the Yahoo team, but Rasmus (the same one that invented PHP) pays very close attention to site security, and Yahoo, Google, and many others watch the boards where these vulnerabilities are revealed and fix the problems, often within hours, whether its disclosed or not.

    --
    Clones are people two.
  15. Re:SIMPLE SOLUTION by quanticle · · Score: 2, Informative

    Try to pair sessionID with IP number of accessing PC.

    Two things wrong with that argument:

    1. Dynamic IP addressing. Dial-up users, and DSL users often sit behind a pool of IP addresses that are handed out dynamically. This means that the user's IP could change during the middle of a session.
    2. IP address spoofing. When you get the user to connect to your "evil" site for the cross site scripting vulnerability, you can record their IP address as well, allowing you to duplicate their signature by using an IP address spoofing tool.
    --
    We all know what to do, but we don't know how to get re-elected once we have done it
  16. Re:Why web developers don't care about XSS by Anonymous Coward · · Score: 1, Informative

    file://c:/www/includes/objFilter.inc