XSS aveugle vers SSRF

Feb 01 2023
Lors de la chasse aux bogues dans un programme privé de primes aux bogues, je suis tombé sur une fonctionnalité de l'application qui permettait de générer des documents PDF. Étant donné que l'entrée de l'utilisateur était reflétée dans les documents PDF générés, j'ai décidé d'essayer d'injecter des charges utiles HTML et XSS.

Lors de la chasse aux bogues dans un programme privé de primes aux bogues, je suis tombé sur une fonctionnalité de l'application qui permettait de générer des documents PDF. Étant donné que l'entrée de l'utilisateur était reflétée dans les documents PDF générés, j'ai décidé d'essayer d'injecter des charges utiles HTML et XSS.

J'ai utilisé un outil bien connu appelé XSSHunter, qui nous permet de trouver des vulnérabilités de script intersite aveugles. À ma grande surprise, ma charge utile a été immédiatement exécutée et j'ai pu récupérer la capture d'écran et les détails suivants sur XSSHunter.

Une enquête plus approfondie a révélé que la charge utile avait été exécutée sur le chemin du fichier

"fichier:///gotenberg/e86fbc55ef893d878821c1bc76c3b1e3/index.html".

Gotenberg est une API open source permettant de convertir des documents HTML, Markdown et Office en PDF. Il utilise un ensemble de moteurs de rendu configurables pour convertir le document d'entrée en un fichier PDF. L'analyseur Gotenberg est le composant de Gotenberg qui prend le document d'entrée et le convertit dans un format pouvant être restitué par les moteurs.

Après d'autres tests, j'ai découvert que l'analyseur Gotenberg était vulnérable aux attaques de contrefaçon de requête côté serveur. J'ai pu exécuter avec succès une charge utile qui comprenait un iframe avec le src défini sur "file:///etc/passwd" . Cela m'a permis de voir le contenu du fichier "/etc/passwd" .

Ce type de vulnérabilité permet à un attaquant d'accéder à des fichiers sensibles sur un serveur en manipulant le chemin du fichier de manière à lui permettre de traverser le système de fichiers. Cela peut potentiellement conduire à l'exposition d'informations sensibles et même à la compromission complète du système.

J'ai immédiatement signalé mes découvertes à l'équipe de sécurité, qui a classé la vulnérabilité comme élevée. Cependant, un autre chercheur en sécurité avait également signalé la vulnérabilité au même moment. En conséquence, l'équipe a décidé de partager la prime et j'ai reçu 500 $.

Ressources

https://media.defcon.org/DEF%20CON%2027/DEF%20CON%2027%20presentations/DEFCON-27-Ben-Sadeghipour-Owning-the-clout-through-SSRF-and-PDF-generators.pdf