
إثبات المفهوم (POC) لجدار حماية بسيط بلغة Python مصمم للتخفيف من هجوم Spring4Shell (CVE-2022-22965) RCE عبر فحص وحظر أجسام الطلبات الخبيثة.
هذا المشروع عبارة عن جدار حماية بسيط وفعّال تم تنفيذه كإثبات للمفهوم (POC) بلغة بايثون. صُمم ليعمل كخادم HTTP يفحص طلبات POST الواردة لاكتشاف وحظر نمط الحمولة المحدد المرتبط بثغرة تنفيذ التعليمات البرمجية عن بُعد (RCE) في Spring4Shell (CVE-2022-22965).
يستفيد جدار الحماية من وحدة http.server المدمجة في بايثون. يقع المنطق الأساسي في طريقة do_POST من الكلاس ServerHandler.
POST الواردة.class.module.classLoader. هذه السلسلة هي المكوّن الأساسي لاستغلال Spring4Shell ويصعب على المهاجم إخفاؤها.403 Forbidden.200 OK.بينما قد تركز استراتيجيات التخفيف الأخرى على الترويسات (headers) أو مسارات URL محددة، تم اختيار هذه الطريقة لمتانتها:
tomcatwar.jsp ) أو أسماء ترويسات مخصصة، والتي يمكن للمهاجم تغييرها بسهولة.لتشغيل جدار الحماية، استخدم السكربت الرئيسي firewall_server.py:
python firewall_server.py
سيبدأ الخادم على localhost:8000.
يمكنك بعد ذلك استخدام السكربت المرفق Test_Requester.py لمحاكاة الطلبات الخبيثة والتحقق من حظرها.
هذا إثبات للمفهوم (Proof-of-Concept) وهو مخصص للأغراض التعليمية والتوضيحية فقط. إنه ليس حلاً جاهزًا للإنتاج لجدار الحماية.