
Preuve de concept (POC) d'un pare-feu simple en Python conçu pour atténuer l'attaque RCE Spring4Shell (CVE-2022-22965) en inspectant et en bloquant les corps de requêtes malveillants.
Ce projet est un pare-feu simple mais efficace implémenté en tant que preuve de concept (POC) en Python. Il est conçu pour agir comme un serveur HTTP qui inspecte les requêtes POST entrantes afin de détecter et de bloquer le motif de charge utile spécifique associé à la vulnérabilité d'exécution de code à distance (RCE) Spring4Shell (CVE-2022-22965).
Le pare-feu utilise le module http.server intégré de Python. La logique centrale se trouve dans la méthode do_POST de la classe ServerHandler.
POST entrantes.class.module.classLoader. Cette chaîne est le composant fondamental de l'exploit Spring4Shell et est difficile à obscurcir pour un attaquant.403 Forbidden.200 OK.Bien que d'autres stratégies d'atténuation pourraient se concentrer sur les en-têtes ou des chemins d'URL spécifiques, cette méthode a été choisie pour sa robustesse :
tomcatwar.jsp) ou les noms d'en-têtes personnalisés, qui peuvent être facilement modifiés par un attaquant.Pour exécuter le pare-feu, utilisez le script principal firewall_server.py :
python firewall_server.py
Le serveur démarrera sur localhost:8000.
Vous pouvez ensuite utiliser le script Test_Requester.py fourni pour simuler des requêtes malveillantes et vérifier qu'elles sont bloquées.
Ceci est une preuve de concept et est destiné uniquement à des fins éducatives et de démonstration. Il ne s'agit pas d'une solution de pare-feu prête pour la production.