В движке для создания web-форумов
Первая уязвимость присутствует в модулях публикации и отправки приватных сообщений, и позволяет осуществить подстановку JavaScript-кода (XSS), который будет выполнен в браузере при просмотре публикации или полученного сообщения. Подстановка JavaScript возможна из-за некорректного преобразования в HTML вложенных BBCode. В частности, тег
«
и она при обработке BBCode «» будет преобразована в тег
‹iframe src=»youtube.com/xyz[url]http://onload=evilCode()[/url]»›‹/iframe›
, а после обработки остальных BBCode в
‹iframe src=»youtube.com/xyz‹a href=»http://onload=evilCode()»›..»›‹/iframe›
Соответственно двойная кавычка в ‘href=»‘ закрывает атрибут «src» и onLoad обрабатывается в контексте iframe.
Вторая уязвимость позволяет при наличии прав администратора форума сохранить в файловую систему web-сервера PHP-скрипт и организовать его выполнение. Проблема присутствует в коде управления стилями для активной темы оформления, который позволяет генерировать новые CSS-файлы. Подобные файлы сохраняются с добавлением расширения «.css», но размер поля в БД с именем файла ограничен 30 символами. Соответственно можно назвать файл «26символов.php.css». При записи в БД будут отрезаны лишние символы и в конечном счёте сохранится имя «26символов.php». Далее через панель администратора форума можно сгенерировать новый стиль и файл будет записан в каталог «cache» с расширением php.
Для проведения атаки злоумышленник может направить администратору форума специально оформленное сообщение или опубликовать подобное сообщение форуме. При просмотре данного сообщения в браузере в рамках текущего сеанса в форуме и с правами просматривающего сообщение пользователя будет выполнен заданный атакующим JavaScript-код. Если сообщение просмотрел администратор, то для выполнения PHP-кода в контексте привилегированного сеанса эксплуатируется вторая уязвимость.
Источник: opennet.ru