Ce projet démontre une simulation de pare-feu d'application Web (WAF) utilisant Flask et un vérificateur de vulnérabilités pour CVE-2017-5638. Le middleware WAF bloque les requêtes HTTP contenant des modèles spécifiques, et le vérificateur de vulnérabilités teste et exploite la vulnérabilité Apache Struts 2 (CVE-2017-5638).
Ce projet démontre une simulation de Pare-feu d'Application Web (WAF) en utilisant Flask et un vérificateur de vulnérabilité pour CVE-2017-5638. Le middleware WAF bloque les requêtes HTTP contenant des motifs spécifiques, et le vérificateur de vulnérabilité teste et exploite la vulnérabilité Apache Struts 2 (CVE-2017-5638).
server.py : Ce serveur web basé sur Flask inclut un middleware WAF qui bloque les requêtes HTTP contenant des motifs potentiellement malveillants. vulnerable.py : Ce script vérifie la vulnérabilité CVE-2017-5638 et peut exécuter des commandes arbitraires si la cible est vulnérable.
Le script server.py met en place un serveur web Flask avec un middleware WAF qui inspecte les requêtes entrantes pour détecter des motifs malveillants spécifiques. Si un motif bloqué est détecté, la requête est refusée avec une réponse 403 Forbidden.
Installer Flask : pip install flask Lancer le serveur : python server.py Accéder au serveur à l'adresse http://127.0.0.1:5000/.
Le script vulnerable.py vérifie si une URL donnée est vulnérable à CVE-2017-5638 et peut exécuter des commandes sur le serveur vulnérable.
Installer les bibliothèques requises :
pip install requests Vérifier si une URL est vulnérable :
python vulnerable.py --url http://example.com --check Exécuter une commande sur une URL vulnérable :
python vulnerable.py --url http://example.com -c "whoami"
Le script server.py sert de démonstration de base d'un WAF utilisant Flask. Dans un scénario réel, des techniques et motifs plus avancés devraient être employés.