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

Новогодний подгон от Хакера

 

Хакер, номер #084, стр. 084-060-1


Подарки нашим дорогим читателям

Ты уже чувствуешь этот приятный, знакомый с детства ароматный запах мандаринов, еловых веток, коньяка, пороха из петард, снега и салата Оливье. Оглянись вокруг: мир меняется. Бесконечные очереди в супермаркетах, пробки по всему городу, караваны, загруженных сумками, женщин и мужчин. Это все не просто так, приятель. Скоро Новый Год. А в новогодние дни принято совершать безбашенные поступки, вести себя неадекватно, дарить окружающим подарки. Сначала мы думали вложить в каждый журнал по мягкому песику с надписью I love you, но потом решили, что лучше будет подарить тебе кое-что погорячее.

[soblazn.tv]

Ты, наверное, знаешь о том, что канал REN-TV после смены владельца начал активно осваивать перспективный рынок реалити-шоу. Недавно вот запустили проект с названием «Остров Искушений» и сделали для проекта сайт - www.soblazn.tv. Как и следовало бы ожидать, куча разнообразных девочек и мальчиков с упоением смотрят за чужой заэкранной жизнью и сценарийными отношениями, а сайт этого проекта кроет в себе опасный баг, с помощью которого можно здорово повеселиться.

Вернее, не сайт, а форум.

Если зайти на главную страницу этого раздела, то ты увидишь длинную ботву о копирайтах, а еще ниже - строку «Этот форум работает на скрипте Intellect Board 2.13» и ссылку на сайт форума - www.intboard.ru. Оказалось, что форум бесплатный и доступен кому угодно для скачивания. То, что доктор прописал. За десять минут был найден баг, позволяющий выполнять произвольный код на стороне клиента. В файле xaphpi.php осуществлялась фильтрация всех переменных. Вот кусок бажного кода:

function &getvar($name) {

if (strpos($name,"_text")===false) {

if (isset($_GET[$name])) $tmp = stripslashes($_GET[$name]);

elseif (isset($_POST[$name])) $tmp= stripslashes($_POST[$name]);

}

else {

if (isset($_GET[$name])) $tmp = htmlspecialchars(stripslashes($_GET[$name]));

elseif (isset($_POST[$name])) $tmp= htmlspecialchars(stripslashes($_POST[$name]));

}

Как видно из кода, все переменные, имеющие в названии «_text», пропускаются фильтром. А вот это интересно. Посидев за разборкой кода еще пару минут, нашел, что переменная обозначающая тему в приветном сообщении имеет название pm_text.

Отлично, теперь мы можем выполнить любой яваскрипт, единственное ограничение - длина темы в 80 символов. Но эти границы легко расширить, заюзав конструкцию вроде <script src="">. Так что ничто не мешает написать админу или кровному врагу слезное сообщение, которое уведет у бедолаги сессию, выведет пять сотен окошек или зальет ему трояна через приватный баг. Все зависит от целей :).

[NewMail.ru]

Четверть миллиона человек пользуются почтовым сервисом NewMail.ru, четверть миллиона пользователей и четверть миллионов сайтов вновь под угрозой. Программисты, разрабатывающие web-интерфейс этого сервиса, не отличаются сообразительностью: примерно два раза в год мы пишем о багах в этом интерфейсе :). Пользуясь случаем, хочется передать им привет и поздравить с Новым годом.

Откровенно говоря, об этих багах известно уже давным-давно. Где-то год назад, наверное, мы уже писали об этом. Суть проблемы заключается в том, что любой человек, желающий получить доступ к определенному аккаунту, может послать на соответствующее мыло html-письмо следующего содержания:

Содержание  Вперед на стр. 084-060-2