RE: POC Heap based buffer overflow

From: Amarante, Rodrigo P. (RPAmaranteat_private)
Date: Fri Apr 11 2003 - 16:30:46 PDT

  • Next message: Roland Postle: "Re: POC Heap based buffer overflow"

    This looks very similar to the latest WebDav vuln: 32k buffer (or 64k),
    overwriting ECX, inconsistent return addresses...
    What are you trying to exploit? Is it an UNICODE overflow? Sometimes all
    you get is a DoS exploit...or brute force a reverse shell (like the
    latest WebDav).
    
    -----Original Message-----
    From: Aaron C. Newman (Application Security, Inc.)
    [mailto:anewmanat_private] 
    Sent: Friday, April 11, 2003 3:16 PM
    To: vuln-devat_private
    
    I am developing a POC exploit for an exist buffer overflow.
    
    In the buffer overflow, I can write up to 32000 bytes of memory (it
    allows my to write all noops - 0x90 - and I can embed payload anywhere
    in those bytes). It is overwritten in several places, however it is
    never consistently in the same place. I can get the payload to overwrite
    a value that is loaded into ecx and then ecx is executed. So I am able
    to change the direction of execution to any hard-coded address I want.
    However I can not consistently change it to my attack code because the
    payload is loaded to different places in memory each time. 
    
    The payload is not written directly to ESP or EBP so I can not simply
    call somewhere in the program where there is a "call esp" or "jmp esp".
    One of the areas overwritten does seem to be consistently written to ESP
    + 0x1D00 or EBP + 0x1D10 so I was hoping to find someplace in code where
    it executes:
    add esp, 0x1D00
    jmp esp
    
    and other variations but have not had luck finding a useful match.
    
    I could try brute forcing, but the overflow crashes the program so that
    is not very practical, particularly for demos.
    
    Anyone have any ideas of how to use and address that can consistently
    find my attack code.
    
    Regards,
    Aaron
    



    This archive was generated by hypermail 2b30 : Sat Apr 12 2003 - 07:53:03 PDT