Announcement

Collapse
No announcement yet.

AJAX XSS vulnerabilities

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • AJAX XSS vulnerabilities

    I just noticed something of a huge security hole in Internet Explorer which isn't present in Firefox, Opera, or Safari.

    Firefox, Opera, and Safari will not let you make AJAX requests to any host other than the one you loaded the web page/JavaScript from originally. Attempting to do so will get you a "Permission denied" error on the JavaScript console.

    IE, however, will seemingly allow you to make AJAX requests wherever you wish. This allows for a whole number of cross-site scripting attacks, all of which will be completely user transparent. One is outlined below:

    Our happy IE user is browsing the web, feeling safely nestled away behind a firewall/proxy server. This user works on internal documents on an internal web server quite often, and uses cookies to bypass login attempts to the server.

    An attacker magically knows the internal hostname and address of a particular resource which is, in theory, not only password protected (but increasing convenience by saving login info with cookies), but locked away from the commodity Internet via a firewall, and only allows outbound Internet connections via the proxy server.

    Happy IE user receives e-mail or some other sort of invitation from the attacker to visit a particular web page. Happy IE user visits the web page, and sees a stupid flash animation or some other distraction.

    However, completely transparent to Happy IE user's distracting experience, a JavaScript embedded in the page makes an AJAX request to the protected internal web server. Session cookies allow the script access to the protected resource. It is fetched and stored in the XMLHTTP.responseText variable.

    Another AJAX request is instigated, this time to a server set up to receive the file. AJAX uses the system's proxy settings, and an AJAX POST request dumps the file onto the attacker's server via the proxy. Happy IE user is none the wiser, and unless they actually looked at the JavaScript source in the page or had a traffic analyzer running, they'd never notice that sensitive internal information had been compromised.

    The moral of the story: Don't use IE
    45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B0
    45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B1
    [ redacted ]

  • #2
    Wow that's pretty scary.

    I never use IE, only time I use it is to logon to citrix Nfuse for college but that's literally the only web page that IE accesses. That and my internal web server to test sites that I make. Now the countdown begins to know how long it will take for this to be fixed. If this affected firefox they would have released a full new version to fix this issue, and probably more that have not been found yet.

    And when I'm using IE I feel like I'm exposing a wound to dirty virus filled water.
    Red Squirrel

    Comment


    • #3
      It doesn't have to be by email either, here's an additional scenario:

      1) Post a message with hidden XSS attack to their message board, support section, feedback page, etc. that is likely to be seen by an employee.
      2) XSS gets executed, fetching your target data. People viewing the message who don't have access to it make the request as well, but nothing happens.
      3) The data gets sent out, or even just gets posted back to their own site.

      For the programmers out there, here's my attempt at a PHP XSS filter: http://quickwired.com/kallahar/small...r_function.php

      Kallahar
      --- The fuck? Have you ever BEEN to Defcon?

      Comment


      • #4
        is this advisory on packetstorm or securiteam?
        BY ACCEPTING THIS BRICK THROUGH YOUR WINDOW, YOU ACCEPT IT AS IS AND AGREE TO MY DISCLAIMER OF ALL WARRANTIES, EXPRESS OR IMPLIED, AS WELL AS DISCLAIMERS OF ALL LIABILITY, DIRECT, INDIRECT, CONSEQUENTIAL OR INCIDENTAL, THAT MAY ARISE FROM THE INSTALLATION OF THIS BRICK INTO YOUR BUILDING.

        Comment

        Working...
        X