# Fuites de SS
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 * Travaillez-vous dans une **entreprise de cybersécurité** ? Voulez-vous voir votre **entreprise annoncée dans HackTricks** ? ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) ! * Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family) * Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com) * **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Partagez vos astuces de piratage en soumettant des PR au** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
Il s'agit d'un **mélange** entre **markup suspendu et XS-Leaks**. D'un côté, la vulnérabilité permet d'**injecter du HTML** (mais pas du JS) dans une page de la **même origine** que celle que nous attaquerons. D'un autre côté, nous n'**attaquerons** pas directement la page dans laquelle nous pouvons injecter du HTML, mais **une autre page**. ## Objets imbriqués Si le point de terminaison `/api/v1/leaky?secret=a` renvoie un code d'état 404, alors l'objet interne est chargé, donnant un rappel à `https://evil.com?callback=a` et nous indiquant que la requête de recherche `a` n'a donné aucun résultat. ```html ``` ### Chargement paresseux Et si CSP bloque les objets externes ? Essayons à nouveau avec le CSP suivant : `Content-Security-Policy: default-src 'self'; img-src *;` Notre rappel `object` précédent ne fonctionne plus. À la place, nous pouvons utiliser le [chargement paresseux](https://developer.mozilla.org/fr/docs/Web/Performance/Lazy_loading) d'images ! L'image suivante ne se chargera que lorsqu'elle sera visible et à une certaine distance de la fenêtre d'affichage. ```html ``` ### Images Réactives La technique ci-dessus est excellente, mais elle repose sur notre injection HTML se trouvant dans le champ de vision de l'utilisateur. Si l'injection est hors de l'écran et que l'utilisateur ne fait pas défiler, pouvons-nous toujours divulguer des données ? Bien sûr, nous pouvons utiliser des identifiants d'éléments et [scroll-to-text-fragment](https://chromestatus.com/feature/4733392803332096) pour créer une URL qui force un défilement, mais cela dépend de l'interaction de l'utilisateur et ne nous permet pas d'obtenir des fuites cohérentes dans un scénario réel. Idéalement, nous voulons armer l'injection HTML stockée de manière fiable. Entrez les images réactives ! Plus précisément, les attributs `srcset` et `sizes` des images. {% code overflow="wrap" %} ```html