
🔒 Spring4Shell Firewall Defense — Cybersecurity Incident Simulation This project is part of a Cybersecurity Job Simulation I completed in August 2025 through Forage. It focuses on detecting, analyzing, and mitigating a simulated real-world cyberattack involving the Spring4Shell (CVE-2022-22965) vulnerability
🛡️ Défense du pare-feu Spring4Shell – Simulation d'incident de cybersécurité Ce projet fait partie d'une simulation de poste en cybersécurité que j'ai réalisée via Forage en août 2025. Il simule un incident réel impliquant la vulnérabilité Spring4Shell (CVE-2022-22965) et montre comment un pare-feu personnalisé peut détecter et atténuer les tentatives d'exploitation.
📌 Aperçu du projet L'objectif de cette simulation était d'identifier et de bloquer le trafic malveillant ciblant un point d'accès d'application web vulnérable. J'ai développé un pare-feu HTTP personnalisé en Python qui surveille et filtre les requêtes entrantes, détectant les schémas d'exploitation connus et les arrêtant en temps réel.
🧰 Fonctionnalités clés 🔍 Détection des menaces : Analyse les données POST HTTP pour détecter des clés et charges utiles suspectes. 🔐 Défense du pare-feu : Bloque les requêtes malveillantes à l'aide de règles basées sur des motifs. 💣 Prévention des exploits : Détecte les tentatives d'exécution de code à distance via Runtime.getRuntime() et signatures similaires. 📈 Journalisation et surveillance : Affiche les tentatives bloquées et les raisons du blocage dans le terminal.
🖼️ Démo Dans la première capture d'écran, une requête POST suspecte tente d'exploiter la vulnérabilité Spring4Shell en injectant une charge utile avec Runtime.getRuntime(). Le pare-feu personnalisé détecte immédiatement ce schéma et bloque la requête, renvoyant une réponse 403 Forbidden — stoppant ainsi efficacement une tentative potentielle d'exécution de code à distance (RCE).

À l'inverse, la deuxième capture d'écran montre une requête POST sécurisée avec des données inoffensives (username=test) envoyée au serveur. Le pare-feu la reconnaît comme sûre et autorise la requête, renvoyant une réponse standard 200 OK. Cela met en évidence la capacité du pare-feu à distinguer avec précision les activités normales des activités malveillantes.

🧪 Technologies utilisées Python (implémentation du pare-feu) Module http.server pour simuler un serveur vulnérable curl pour simuler des requêtes POST Logique de détection de signatures personnalisée
📋 Ce que j'ai fait Analysé une attaque Spring4Shell simulée ciblant un point d'accès JSP. Identifié des charges utiles suspectes dans les données POST. Écrit un pare-feu personnalisé (firewall_server.py) pour détecter et bloquer les requêtes malveillantes. Validé le pare-feu en simulant des attaques (voir capture d'écran). Documenté l'incident avec une analyse post-mortem détaillée.
📜 Certificat RNhbu8QnDzthwynEf_M6JGAwZ52SMusMEcK_cKqCaSyzkPoWXRdg5_1754434963290_completion_certificate.pdf