Phil242 wordpress com 2014 02 23 la png qui se prenait pour du php pdf

Accueil A propos FÉVRIER PHIL La PNG qui se prenait pour du PHP Ou comment mettre du code PHP dans un chier PNG valide Lors d ? un CTF et de l ? exploitation d ? une faille de type LFI nous n ? avions qu ? un répertoire o? nous pouvions écrire des images PNG Et bien-sûr à la réception les images étaient redimensionnées en ? et épurées de tous les champs de commentaires ou d ? informations Impossible donc de mettre simplement du PHP dans les commentaires de la PNG qui sont stockés bruts dans des chaines de caractères sans encodage particulier C ? est là que Google intervient et que je tombe sur ce blog maintenu par un expert en sécurité https www idontplaydarts com encoding-web-shells-in-png- idatchunks L ? article est fort intéressent car il donne tous les éléments pour arriver à diriger le processus d ? encodage de l ? image au format PNG a n de générer un chier parfaitement valide tout en faisant apparaitre du PHP dans la zone compressée des pixels Peut-être étais-je le seul ignare sur terre à ne pas savoir que cette technique existait mais la découverte de ce genre de hack me rappelle au combien on se couche parfois moins con le soir suivant Il est fortement conseillé de lire l ? article ci-dessus pour mettre en pratique ce qui est expliqué dans ce billet L ? euphorie du moment dissipée il faut maintenant mettre en pratique tout ça Bien sûre dans ce genre d ? exploitation tout est dans le détail Par malchance les PNG fournies étaient calculée pour du redimensionnement ? et ne fonctionnaient pas avec un redimensionnement vers ? Même en reprenant bêtement le payload et en le mettant dans une image ? les données sources compressées par la ZLIB étant plus nombreuses le résultat de la ZLIB ne donnait pas le shell- code-like PHP attendu Il n ? y a donc pas le choix il faut comprendre les choses dans le détail et faire en sorte que la ZLIB soit alimenté par le bon contenu et génère le PHP voulu En partant d ? une image décompressée dans un bu ?er dite RAW trois grandes étapes dans le processus de redimensionnement et de construction de l ? image cible interviennent Elles sont toutes décrites dans le blog cité plus haut La sélection du sous-ensemble de pixels qui resteront échantillonnage Le passage des ltres qui réorganisent les pixels pour une compression plus ef cace La compression en stockage de l ? image ltrée dans son format PNG dé nitif Vous l ? aurez deviné a n d ? obtenir du code PHP intelligible dans la zone IDAT de l ? image PNG il va falloir prédire les valeurs des pixels en amont Le code PHP que l ? on va essayer d ? obtenir est ? Phil l ? Australien pas moi a déjà fait le fastidieux calcul inverse du payload à fournir à la ZLIB pour

  • 31
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Aucune attribution requise
Partager
  • Détails
  • Publié le Mar 01, 2022
  • Catégorie Law / Droit
  • Langue French
  • Taille du fichier 59.7kB