Exploitation of PDF Generation Vulnerabilities
Injection de Javascript:
Comme pour les injections XSS, il est possible d'injection du code javascript qui sera interprété lors de la génération du pdf, c'est ce qu'on nomme une Server-Side XSS
Après l'injection de cette payload, si test1 apparait sur le PDF alors il est possible de réaliser des Server-Side XSS.
On peut tenter d'autre injection :
Server-Side Request Forgery
Une des vulnérabilités les plus courantes lors de la génération de PDF est le Server-Side Request Forgery (SSRF). Les documents HTML chargent souvent des ressources externes comme des feuilles de style ou des images, ce qui oblige le serveur à envoyer des requêtes vers ces sources pour les récupérer. En injectant du code HTML dans l’entrée du générateur de PDF, il devient possible de forcer le serveur à envoyer une requête GET vers n’importe quelle URL, y compris celles de ses applications internes.
Pour confirmer cette vulnérabilité, on peut injecter différents tags HTML, comme une balise img
pointant vers une URL sous notre contrĂ´le.
Local File inclusion
Du fait qu'on puisse exécuter du code javascript il est possible de leverage ceci pour avoir une LFI et ainsi tenter de lire de fichier :
Cependant, cette méthode est impraticable pour certains fichiers, car copier les données d'un fichier PDF peut l'endommager. Par exemple, la syntaxe risque de se briser si l'on exfiltre une clé SSH. De plus, il est impossible d'exfiltrer des fichiers contenant des données binaires de cette manière. Il est donc préférable de convertir le fichier en base64 avec la fonction btoa
avant de l'insérer dans le PDF.
Si l'exécution de code javascript n'est pas possible pour lire des fichiers, il est possible d'avoir le contenu de celui avec des tags HTML :
Last updated