# Niveau "High"

En "High", je constate que la technique utilisée précédemment pour uploader le script PHP ne fonctionne plus et cela même en modifiant le `Content-Type` :

![](https://1502624390-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LXA-aPG-dBFXBTzP1DC%2F-LtU61Wb6INdM0D7rD1-%2F-LtU6PB8vhTdE83UMYZ0%2F1e0ab4cb53726442207bcb4d14e9e251.png?alt=media\&token=a0254620-00b3-40da-b0bd-1fcaeb2756bd)

Le serveur renvoi une erreur indiquant un mauvais format d'image :

![](https://1502624390-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LXA-aPG-dBFXBTzP1DC%2F-LtU61Wb6INdM0D7rD1-%2F-LtU6ne93GosxBHzLXvx%2F40e5e73ad8a5e2c8e2412981c9dd5a2c.png?alt=media\&token=7a49dea6-8dd1-4a90-84b2-d3c328ae1c85)

De plus l'extension est également vérifiée par l'application car il n'est pas possible d'uploader une image valide mais dont l'extension n'est pas une extension de type image.

La solution ici est en fait de passer par les métadonnées de l'image afin d'y injecter la payload PHP. Pour cela j'utilise le logiciel "Exif Pilot", mais n'importe quel logiciel pouvant éditer les métadonnées doit pouvoir faire l'affaire :

![](https://1502624390-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LXA-aPG-dBFXBTzP1DC%2F-LtU6p0l_zzy_B7H5jPe%2F-LtU9JsKGk8OQZkRKAlB%2F9bdecaa28670f077fa7fdb730201d8be.png?alt=media\&token=e0b83656-f936-4d13-8645-8a4bd0fbdf18)

Rien ne se passe si je visualise l'image directement :

![](https://1502624390-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LXA-aPG-dBFXBTzP1DC%2F-LtU6p0l_zzy_B7H5jPe%2F-LtU9d4plgzO0LhJ3lRY%2Fabdc1b531e346bccc83116d5a1703892.png?alt=media\&token=509e8049-2f30-4e8b-b0b3-b500c61870eb)

Par contre, si j'exploite en plus une vulnérabilité de type File Inclusion (disponible sur DVWA et exploitée ici en "Low") :

![](https://1502624390-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LXA-aPG-dBFXBTzP1DC%2F-LtU6p0l_zzy_B7H5jPe%2F-LtUAW3u_Fh43bptVPBU%2F85009f332def02ee08861fe6963c1500.png?alt=media\&token=4a7c02ad-90fd-46a9-94d5-8dba346397c7)

Alors le code PHP est bien exécuté par le serveur.

{% hint style="info" %}
Cela ne s'arrête pas là mais les possibilités sont vastes : récupération d'un shell plus complet, maintien de l'accès, tentative d'élévation de privilèges, pivotage, ...
{% endhint %}
