Cssi — различия между версиями

Материал из InformationSecurity WIKI
Перейти к: навигация, поиск
(Новая страница: «Пока пусто Заметка: добавить про чтение токенов и PRSSI»)
 
м
Строка 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:

1 document.getElementById("...").style.cssText = "color: " + location.hash.slice(1);

То есть все сводится к тому, что нужно изучить JS код страницы и найти параметры, которые может изменить пользователь.

Загрузка из backend'а

Данный способ отличается от предыдущего тем, что параметры вставляются в код страницы с помощью backend языка разработки.

Например:

1  <span style="color: <?php echo $_GET['color']; ?>">


Эксплуатация

Получение токенов

CSS inj -> XSS

Примеры

Полезные ссылки

https://www.owasp.org/index.php/Testing_for_CSS_Injection_(OTG-CLIENT-005)

Заметка: добавить про чтение токенов и PRSSI