Уязвимости в MyBB, позволяващи захващане на контрол над форума

В движението за създаване на уеб форуми MyBB бяха открити няколко уязвимости, позволяващи организиране на многостепенна атака за изпълнение на произволен PHP код на сървера. Проблемите са отстранени в версията MyBB 1.8.21.

Първата уязвимост се съдържа в модулите за публикуване и изпращане на лични съобщения и позволява внедряване на 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.

Втората уязвимост позволява при наличието на права на администратора на форума да се запази PHP скрипт в файловата система на уеб сървъра и да се организира неговото изпълнение. Проблемът присъства в кода за управление на стиловете за активната тема, който позволява генериране на нови CSS файлове. Подобни файлове се запазват с добавяне на разширението «.css», но размерът на полето в БД за името на файла е ограничен до 30 символа. Следователно, файлът може да бъде наречен «26символа.php.css». При запис в БД излишните символи ще бъдат отстранени и в крайна сметка ще се запише името «26символа.php». След това от панела за администратора на форума може да се генерира нов стил и файлът ще бъде записан в каталога «cache» с php разширение.

За провеждане на атака, злоумишленикът може да изпрати на администратора на форума специално форматирано съобщение или да публикува подобно съобщение във форума. При преглед на това съобщение в браузъра в рамките на текущата сесия във форума и с правата на потребителя, който чете съобщението, ще се изпълни зададеният от атакуващия JavaScript код. Ако съобщението е прегледано от администратора, втората уязвимост ще бъде експлоатирана за изпълнение на PHP кода в контекста на привилегирована сесия.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster