Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cve-2019-3396 — حقن القوالب غير المصرح به في Confluence | Kitploit
أدوات/GitHubGitHub/petrusviet/cve-2019-3396
تحليل الثغرات الأمنيةتحليل الكودالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليم
GitHubpetrusviet/cve-2019-3396

cve-2019-3396

حقن القوالب غير المصرح به في Confluence

عرض المستودع
212منذ 5 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

حقن القالب غير المصرح به في Confluence (CVE-2019-3396)

I) البناء

  • يحدث هذا الخطأ في الإصدارات التالية:
    • جميع الإصدارات 1.x.x و 2.x.x و 3.x.x و 4.x.x و 5.x.x
    • جميع الإصدارات 6.0.x و 6.1.x و 6.2.x و 6.3.x و 6.4.x و 6.5.x
    • جميع الإصدارات 6.6.x قبل 6.6.12
    • جميع الإصدارات 6.7.x و 6.8.x و 6.9.x و 6.10.x و 6.11.x
    • جميع الإصدارات 6.12.x قبل 6.12.3
    • جميع الإصدارات 6.13.x قبل 6.13.3
    • جميع الإصدارات 6.14.x قبل 6.14.2
  • بعد تنزيل الكود المصدري تحتاج إلى:
    • تعديل قيمة confluence.home إلى عنوان confluence home في الملف ./confluence/WEB-INF/classes/confluence-init.properties
    • إضافة قيمة CATALINA_OPTS حتى يتمكن البرنامج من العمل في وضع التصحيح عن بُعد (remote debug)

في نظام ويندوز، الملف ./bin/setenv.bat

set CATALINA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

في نظام لينكس، الملف ./bin/setenv.sh

CATALINA_OPTS="-Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=5005 ${CATALINA_OPTS}"  
  • في IDE (Intellij) نقوم بإنشاء Debug Configurations: Remote JVM Debug بقيمة host و port هي localhost:5005 و Command line arguments for remote JVM
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
  • يمكننا استخدام Postgresql كقاعدة بيانات:
$ su - postgres
postgres@ubuntu:~$ psql -U postgres
postgres@ubuntu:~$ psql -U postgres
psql (10.6 (Ubuntu 10.6-0ubuntu0.18.04.1))
Type "help" for help.
 
postgres=# CREATE USER wiki WITH PASSWORD 'wiki';
CREATE ROLE
postgres=# CREATE DATABASE wiki OWNER wiki;
CREATE DATABASE
postgres=# GRANT ALL PRIVILEGES ON DATABASE jira TO wiki;
GRANT
  • نحتاج إلى إضافة حزم jar التالية: ./confluence/WEB-INF/atlassian-bundled-plugins/widgetconnector-x.x.x.jar, ./confluence/WEB-INF/lib/confluence-x.x.x.jar, ./confluence/WEB-INF/lib/velocity-x.x.x-atlassian-x.jar إلى lib حتى نتمكن عند التصحيح من رؤية الكود المصدري اللازم.

  • نقوم بتشغيل الملف ./bin/start-confluence.bat ويمكنكم الاطلاع على هذا الدليل لتثبيته من الكود المصدري.

II) التحليل

  • بعد قراءة الوصف، يمكننا معرفة أن هذا الخطأ يبدأ من ميزة Widget Connector، لذلك قمت بالبحث فورًا لمعرفة ما هي هذه الميزة وكيفية استخدامها:

    2 ادخل إلى تحرير صفحة

    3
    اختر Other macros

    4 اختر Widget connector

    image

  • قمت باختيار بعض القيم عشوائيًا ثم ضغطت على preview، وبعدها انتقلت إلى burp لأرى ما إذا كان هناك شيء مثير. image

  • في هذه الحزمة، لاحظت وجود معامل "pluginKey":"com.atlassian.confluence.extra.widgetconnector"، لذلك خمنت أن ميزة Widget Connector معرفة في الكلاس com.atlassian.confluence.extra.widgetconnector، وبالتالي بحثت في المسار لمعرفة ما إذا كانت هناك حزمة jar مشبوهة.

image

  • جرّبت إضافة الملف ./confluence/WEB-INF/atlassian-bundled-plugins/widgetconnector-x.x.x.jar إلى lib الخاص بالمشروع حتى أتمكن من قراءة الكود المصدري وتصحيحه.

    1
    طريقة إضافة ملف jar إلى lib

  • عند فتح حزمة widgetconnector لفت انتباهي الكلاس WidgetMacro، لذلك وضعت نقطة توقف (breakpoint) في المُنشئ ودالة execute لهذا الكلاس لمعرفة ما إذا كان يتم استدعاؤه عند استخدام ميزة Preview 🕵️

    • image
    • تم استدعاء دالة execute، ثم استدعى البرنامج DefaultRenderManager.getEmbeddedHtml
    • image
تنزيل الأداة