XSS атаки с помощью Referer'а
Часто бывает, что веб-приложение вставляет на страницу сайт с которого перешел пользователь. И делает это без фильтрации данных. Основная проблема - современные браузеры преобразуют спецсимволы в их urlencode представления:
Поэтому если сайт тупо вставляет содержимое заголовка
Ну разве что Internet Explorer, его параметры будут без URLENCODE. Перенаправив с такой страницы на уязвимую - выполнится наш js.
С адекватными браузерами не так гладко, однако Google Chrome не энкодит одинарные кавычки в пути (не в параметре). Поэтому если инъекция в одинарных кавычках атрибута или переменной в js, то эксплуатация не составит труда.
Для этого достаточно создать html страничку с подобным содержимым:
#xss #referer
Часто бывает, что веб-приложение вставляет на страницу сайт с которого перешел пользователь. И делает это без фильтрации данных. Основная проблема - современные браузеры преобразуют спецсимволы в их urlencode представления:
'
в %27
"
в %22
<
и >
в %3C
и %3E
соответственно. Поэтому если сайт тупо вставляет содержимое заголовка
Referer
не декодируя ссылку, то с этим все сложно.Ну разве что Internet Explorer, его параметры будут без URLENCODE. Перенаправив с такой страницы на уязвимую - выполнится наш js.
С адекватными браузерами не так гладко, однако Google Chrome не энкодит одинарные кавычки в пути (не в параметре). Поэтому если инъекция в одинарных кавычках атрибута или переменной в js, то эксплуатация не составит труда.
Для этого достаточно создать html страничку с подобным содержимым:
<script>
window.history.replaceState('', '', "/hello'-alert()-'/");
location.href="//vulnerabledomain/"
</script>
#xss #referer