Cssi — различия между версиями
Материал из InformationSecurity WIKI
Drakylar (обсуждение | вклад) (Новая страница: «Пока пусто Заметка: добавить про чтение токенов и PRSSI») |
Drakylar (обсуждение | вклад) м |
||
Строка 1: | Строка 1: | ||
− | + | '''CSS Injection''' - уязвимость, позволяющая запустить произвольный CSS код на стороне жертвы. | |
+ | |||
+ | ==Поиск уязвимости== | ||
+ | |||
+ | ===Загрузка из JS=== | ||
+ | |||
+ | HTML код страницы может редактироваться в зависимости от действий пользователя. | ||
+ | |||
+ | Например, цвет может быть помещен в hash URL'а (то, что после решетки) и с помощью JS перенесен в CSS: | ||
+ | |||
+ | <syntaxhighlight lang="javascript" line="1" style="overflow-x:scroll" >document.getElementById("...").style.cssText = "color: " + location.hash.slice(1); </syntaxhighlight> | ||
+ | |||
+ | То есть все сводится к тому, что нужно изучить JS код страницы и найти параметры, которые может изменить пользователь. | ||
+ | |||
+ | ===Загрузка из backend'а=== | ||
+ | |||
+ | Данный способ отличается от предыдущего тем, что параметры вставляются в код страницы с помощью backend языка разработки. | ||
+ | |||
+ | Например: | ||
+ | |||
+ | <syntaxhighlight lang="php" line="1" style="overflow-x:scroll" > <span style="color: <?php echo $_GET['color']; ?>"> </syntaxhighlight> | ||
+ | |||
+ | |||
+ | ==Эксплуатация== | ||
+ | |||
+ | ===Получение токенов=== | ||
+ | |||
+ | ===CSS inj -> XSS=== | ||
+ | |||
+ | ==Примеры== | ||
+ | |||
+ | ==Полезные ссылки== | ||
+ | |||
+ | https://www.owasp.org/index.php/Testing_for_CSS_Injection_(OTG-CLIENT-005) | ||
Заметка: добавить про чтение токенов и PRSSI | Заметка: добавить про чтение токенов и PRSSI |
Версия 20:02, 22 июля 2017
CSS Injection - уязвимость, позволяющая запустить произвольный CSS код на стороне жертвы.
Содержание
Поиск уязвимости
Загрузка из JS
HTML код страницы может редактироваться в зависимости от действий пользователя.
Например, цвет может быть помещен в hash URL'а (то, что после решетки) и с помощью JS перенесен в CSS:
document.getElementById("...").style.cssText = "color: " + location.hash.slice(1);
То есть все сводится к тому, что нужно изучить JS код страницы и найти параметры, которые может изменить пользователь.
Загрузка из backend'а
Данный способ отличается от предыдущего тем, что параметры вставляются в код страницы с помощью backend языка разработки.
Например:
<span style="color: <?php echo $_GET['color']; ?>">
Эксплуатация
Получение токенов
CSS inj -> XSS
Примеры
Полезные ссылки
https://www.owasp.org/index.php/Testing_for_CSS_Injection_(OTG-CLIENT-005)
Заметка: добавить про чтение токенов и PRSSI