File upload Null byte
Analyse du site
- Galerie d'upload
- Fichier uniquement en GIF, JPEG or PNG
- "Wrong file" losque ce n'est pas un fichier autorisé
Analyse
Création d'un fichier PHP cmd.php:
Tentative d'upload :

Si on observe les requêtes HTTP, on peut retrouver essayer de modifier les MIME mais sans succés.
Compromission
Le but va d'envoyer un script php sur le serveur grâce à la fonction d'upload. Pour cela, le fichier à été renommé cmd.php.png. Lors de l'envoie avec sur le serveur, il faut modifier la requête HTTP et ajouter un null byte %00 jusste avant l'extension .png. 
cmd.php%00.png
- Upload du fichier cmd.php.png

- Modifier la requête

- Accéder à la réponse de la reqête

- 
Accéder à l'URL : challenge01.root-me.org/web-serveur/ch22/galerie/upload/36ab8bf9fb1ec9f5122660ba504bda71/cmd.php%00.png
- 
Supprimer l'extension %00.pngdans l'URL :challenge01.root-me.org/web-serveur/ch22/galerie/upload/36ab8bf9fb1ec9f5122660ba504bda71/cmd.php
- 
Nous obtenons le flag 

Flag : YPNchi2NmTwygr2dgCCF
En l'occurrence, le null byte permet d'outrepasser les restrictions du type MIME.