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

Угони шестизнак!

NSD (www.nsd.ru, nsd@nsd.ru)

Xakep, номер #068, стр. 068-071-1


Вот и наступило время подвести итоги июльского конкурса и поздравить победителя. Если помнишь, мы обещали оценить дефейс сайта padonak.ru, сделанный первыми тремя пиплами, и выбрать из них самый интересный. Больше всего нам понравилось творчество xbIx'а (r57_xbIx@tochka.ru) – его дефейс показался нам самым оригинальным. Ну а если тебе не удалось поломать www.padonak.ru, слушай внимательно, что нужно было делать.

Если бы ты порегался на сайте и вошел в систему под зареганным логином, к тебе на хард записался бы кукис с идентифицирующей информацией. Эта инфа выглядела бы примерно так: «id=156; logged=1», где вместо цифры 156 стоял бы твой порядковый номер в системе. Ты, конечно же, догадался, что это число можно исправить на какое-нибудь другое. В результате движок будет воспринимать тебя как юзера, порядковый номер которого совпадет с тем числом, которое ты присвоишь ключу id. Существует такая многофункциональная тулза AccessDriver, с помощью которой можно подделывать кукисы. Воспользовавшись ей, ты мог бы зайти на страницу www.padonak.ru/about.php, послав при этом плюшку «id=4; logged=1», в результате чего увидел бы такую инфу о юзере hackme: login – hackme, e-mail – admin@padonak.ru, pass - ******** (скрыт звездами). Думаю, ты бы догадался, что этот юзер тесно связан с сайтом www.padonak.ru и его пароль мог бы совпасть с пассом от FTP к сайту. Но как же узнать пароль, если он скрыт звездами? Тут нам поможет технология SQL-injection. В прошлый раз я писал, что sql-inj баг скрыт в херомант-скрипте. На самом деле, он есть почти на каждой странице сайта. Видишь надпись на главной станице «Ты залогинен как $user»? Дело в том, что слово $user извлекается из таблицы аккаунтов пользователей таким SQL-запросом: «SELECT user FROM users WHERE id=$id», а $id как раз берется из пользовательских кукисов. Если послать куку «logged=1; id=-1 UNION SELECT pass from users where id=4», ты внедрил бы запрос «SELECT pass from users where id=4», в результате чего на экран вывелся бы пароль юзера hackme, который «по случайности» подошел бы и к FTP.

Ну а теперь поговорим о следующем конкурсе взлома. В этот раз он будет не совсем обычным. Тебе нужно будет угнать у подонков их шестизначный ICQ UIN. Дело в том, что мы не будем сейчас говорить, что конкретно тебе придется сделать, и никаких подсказок давать не станем – такие уж мы вредные ;). Скажем только одно. Чтобы пройти конкурс, тебе придется полностью заюзать свою смекалку – брутфорс в этот раз не поможет ;).

Содержание