Новогодний подгон от Хакера
Хакер, номер #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-письмо следующего содержания: |