
Preuve de concept d'exploit pour CVE-2017-15715, démontrant le contournement du téléchargement de fichier Apache HTTPD mod_php en utilisant un caractère de nouvelle ligne final pour exécuter des fichiers PHP arbitraires.
Projet de conteneur de la 4e promotion de whs
Apache HTTPD est un serveur HTTP largement utilisé qui permet d'exécuter des pages web PHP via mod_php. Des versions 2.4.0 à 2.4.29, il existe une vulnérabilité d'analyse syntaxique : un nom de fichier se terminant par .php, tel que 1.php\x0A, est interprété comme un fichier PHP, ce qui permet à un attaquant de contourner certaines politiques de sécurité du serveur.
https://httpd.apache.org/security/vulnerabilities_24.html https://security.elarlang.eu/cve-2017-15715-apache-http-server-filesmatch-bypass-with-a-trailing-newline-at-the-end-of-the-file-name.html
Exécutez la commande suivante pour déployer un serveur Apache HTTPD vulnérable : ''' docker compose build docker compose up -d '''
Une fois le serveur démarré, Apache est accessible à l'adresse http://my-ip:8080, générée à partir de votre adresse IP.
Tout d'abord, tentez de télécharger un fichier nommé 1.php : la requête sera rejetée avec le message « bad file » en raison d'un contrôle de sécurité.

Cependant, si vous ajoutez un caractère de saut de ligne au nom du fichier et le téléchargez à nouveau, le téléchargement réussit. (Dans Burp Suite, cela a été fait en ajoutant 0a à côté du nom dans la vue hexadécimale.)

En accédant à /1.php%0a, le fichier est correctement interprété comme un fichier PHP bien qu'il n'ait pas l'extension .php appropriée. Cela confirme l'existence de la vulnérabilité d'analyse syntaxique.
