
استغلال لثغرة CVE-2022-22963 (حقن SpEL في Spring Cloud Function) يتيح تنفيذ التعليمات البرمجية عن بُعد وإنشاء قشرة عكسية. يتضمن مختبراً قائماً على Docker لاختبار الثغرة وتعلّمها.
في إصدارات Spring Cloud Function 3.1.6 و3.2.2 والإصدارات الأقدم غير المدعومة، عند استخدام خاصية التوجيه، يمكن للمستخدم تقديم SpEL مصمم خصيصًا كتعبير توجيه (routing-expression) مما قد يؤدي إلى تنفيذ التعليمات البرمجية عن بُعد والوصول إلى الموارد المحلية. يمكن العثور على مزيد من التفاصيل في تفاصيل CVE-2022-22963.
استنادًا إلى إثبات المفهوم (PoC) المقدم من AayushmanThapaMagar، أقوم بإنشاء استغلال بسيط لهذه الثغرة للحصول على قشرة عكسية من الخادم الضعيف.
الغرض من هذا المشروع هو تسهيل اختبار الثغرة وتعلم كيفية استغلالها. سأضيف مزيدًا من التفاصيل حول سبب هذه الثغرة لاحقًا.
لتشغيل هذا الاستغلال، تحتاج فقط إلى docker.
استنسخ المستودع وشغل الأمر التالي:
docker-compose up -d
سيؤدي هذا إلى تشغيل حاويتين، واحدة تحتوي على الخادم الضعيف والأخرى على جهاز المهاجم.
الآن يمكنك تشغيل الاستغلال:
في Linux، يمكنك تشغيل الاستغلال باستخدام الأمر التالي:
./run.sh
ملاحظة: قد تحتاج إلى صلاحيات sudo لتشغيل الأوامر أعلاه.
........
لإيقاف الحاويات، شغل الأمر التالي:
docker-compose down