
Pare-feu POC avec des règles conçues pour détecter et bloquer l'exploitation de la vulnérabilité Spring4Shell (CVE-2022-22965)
Ce projet est une preuve de concept (POC) d'un serveur pare-feu conçu pour détecter et bloquer les attaques exploitant la vulnérabilité CVE-2022-22965, communément appelée Spring4Shell. Le serveur inspecte les requêtes HTTP entrantes et bloque celles qui correspondent à des motifs malveillants connus associés à cette vulnérabilité.
Le gestionnaire de serveur pare-feu est un simple serveur HTTP basé sur Python, construit à l'aide de la bibliothèque http.server. Il surveille les requêtes HTTP POST entrantes, recherchant des en-têtes spécifiques et des motifs de charge utile associés à la vulnérabilité Spring4Shell. Si une requête correspond à ces motifs, elle est bloquée et le serveur répond avec un statut 403 Interdit.
Cloner le dépôt
git clone https://github.com/BlackBird63030/Block-Spring4Shell
cd Block-Spring4Shell
Exécuter le serveur
python frs.py
Par défaut, le serveur s'exécutera sur localhost au port 8000.
Tester la règle du pare-feu
Cette POC utilise deux règles principales pour détecter et bloquer les tentatives d'exploitation de CVE-2022-22965 :
Règle 1 : Bloquer le motif de charge utile
class.module.classLoader.resources.context.parent.pipeline.first, utilisé dans les exploits Spring4Shell pour injecter du code Java malveillant.Règle 2 : Bloquer les en-têtes suspects
Si l'une ou l'autre règle correspond, le serveur répond avec un statut 403 Interdit et renvoie un message JSON : {"error": "Forbidden Access"}
Si aucune condition n'est remplie, le serveur répond avec 200 OK et : {"message": "Request received"}
Pour tester le pare-feu, utilisez le script tnt.py. Il va envoyer 5 requêtes POST au script du pare-feu :
python tnt.py
Le serveur répondra avec : {"error": "Forbidden Access"}
Cette POC est destinée à des fins éducatives et de test pour démontrer une règle de pare-feu de base bloquant des vecteurs d'attaque spécifiques ciblant la vulnérabilité Spring4Shell. Elle ne remplace pas une solution de pare-feu complète dans des environnements de production.
Licence MIT