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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-59712_CVE-2025-59713 — استغلال PoC لـ Snipe-IT للثغرتين CVE-2025-59712 و CVE-2025-59713 | Kitploit
أدوات/GitHubGitHub/synacktiv/cve-2025-59712_cve-2025-59713
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالفريق الأحمرتطوير الحمولات
GitHubsynacktiv/cve-2025-59712_cve-2025-59713

CVE-2025-59712_CVE-2025-59713

استغلال PoC لـ Snipe-IT للثغرتين CVE-2025-59712 و CVE-2025-59713

عرض المستودع
2348منذ 0 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

إثبات المفهوم لثغرتي CVE-2025-59712 و CVE-2025-59713

يوفر إثبات المفهوم هذا سكربتًا آليًا لاستغلال CVE-2025-59712 (XSS في ترويسة User-Agent) وCVE-2025-59713 (إلغاء التسلسل غير الآمن).

السياق

تم اكتشاف هاتين الثغرتين بواسطة Synacktiv أثناء بحث في ثغرات برنامج Snipe-IT. Snipe-IT هو نظام مفتوح المصدر لإدارة الأصول مبني على Laravel ومصمم لمساعدة المؤسسات على تتبع وإدارة أصولها المادية والرقمية.

يمكن العثور على تقرير تقني في النشرة الأمنية المخصصة على موقع Synacktiv.

الأوضاع

يوفر هذا السكربت ثلاثة أوامر فرعية، تتوافق مع أوضاع الاستغلال: xss وrce وfullchain.

XSS

يستغل هذا الأمر الفرعي CVE-2025-59712، والذي يسمح لمستخدم بصلاحيات منخفضة بحقن كود JavaScript تعسفي في صفحة HTML المعروضة عند استدعاء المسار /reports/activity. لا يمكن القيام بذلك إلا بواسطة مستخدم admin، أو مستخدم لديه صلاحيات عرض صريحة للتقارير. يكون الحقن ممكنًا بسبب عدم تعقيم حقل User-Agent بشكل صحيح عندما يقوم المستخدم بتحديث معلومات ملفه الشخصي.

للقيام بذلك، سيقوم أولاً بتسجيل الدخول كمستخدم بصلاحيات منخفضة، ثم يحقن كود JavaScript المحدد في الملف المقدم عبر الخيار --javascript.

$ python3 exploit.py xss --help

 Usage: exploit.py xss [OPTIONS]

 Execute XSS attack only with custom JavaScript payload

╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ *  --url         -u       TEXT                    Target Snipe-IT URL [required]                                                                                                             │
│ *  --login       -l       TEXT                    Low-privileged username [required]                                                                                                         │
│ *  --password    -p       TEXT                    Low-privileged password [required]                                                                                                         │
│ *  --new-name    -n       TEXT                    New name for low-privileged user [required]                                                                                                │
│ *  --javascript  -js      TEXT                    Path to custom JavaScript file [required]                                                                                                  │
│    --proxy       -x       TEXT                    HTTP proxy (http://ip:port)                                                                                                                │
│    --verbose     -v       [quiet|normal|verbose]  Logging verbosity [default: normal]                                                                                                        │
│    --help                                         Show this message and exit.                                                                                                                │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

[!IMPORTANT]
أثناء البحث الأمني، أُجريت الاختبارات على إصدار من Snipe-IT يعرض افتراضيًا حقل User-Agent الذي يُحقن فيه JavaScript الضار. منذ commit 10e5d88، لم يعد يتم عرض خاصية User-Agent افتراضيًا عند عرض جدول سجل الإجراءات. لذلك، يجب على المسؤول الذي سيشغّل XSS أن يكون قد حدد خانة User-Agent في خيارات العرض لإصدارات Snipe-IT اللاحقة لهذا الالتزام.

RCE

يستغل هذا الأمر الفرعي CVE-2025-59713، والذي يسمح بتنفيذ الأوامر عن بُعد (RCE) عند معرفة بيانات اعتماد مستخدم admin أو superadmin. وللقيام بذلك، يتم تنفيذ الخطوات التالية:

  1. يتم تشغيل نسخة احتياطية من مثيل Snipe-IT.
  2. يتم تنزيل النسخة الاحتياطية الناتجة، وتعديلها في الذاكرة، ثم إعادة رفعها إلى Snipe-IT. يشمل تعديل النسخة الاحتياطية عبارات SQL إضافية في ملف db-dumps/mysql-snipeit.sql، والتي تنشئ حقلًا مخصصًا جديدًا وتعدّل آخر سجل إجراءات بكائن JSON يحتوي على سلسلة Laravel pop عند الاستعادة.

[!TIP] افتراضيًا، يتضمن Snipe-IT ملف .env في النسخة الاحتياطية. إذا اكتشف السكربت هذا الملف، يتم عرض قيمة APP_KEY وحفظ ملف .env في دليل ./output (ويمكن تحديد موقع مخصص لهذا الملف باستخدام --output-dir).

  1. يتم تشغيل استعادة من النسخة الاحتياطية المعدلة، والتي ستنفّذ عبارات SQL المضافة.

[!CAUTION] استعادة نسخة احتياطية تؤدي إلى فصل جميع المستخدمين المتصلين بالمثيل.

  1. بمجرد اكتمال الاستعادة، يتم استدعاء المسار /api/v1/reports/activity، مما يؤدي إلى تشغيل إلغاء التسلسل وتنفيذ سلسلة Laravel pop.
$ python3 exploit.py rce --help

 Usage: exploit.py rce [OPTIONS]

 Execute RCE attack only (requires existing admin account)

╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ *  --url         -u       TEXT                    Target Snipe-IT URL [required]                                                                                                             │
│ *  --admin-user  -au      TEXT                    Admin username [required]                                                                                                                  │
│ *  --admin-pass  -ap      TEXT                    Admin password [required]                                                                                                                  │
│    --output-dir  -od      PATH                    Output dir for .env file [default: /home/ninja/Téléchargements/snipe-it-advisory/exploit/output]                                           │
│    --shell-ip    -si      TEXT                    Reverse shell IP address                                                                                                                   │
│    --shell-port  -sp      INTEGER                 Reverse shell port                                                                                                                         │
│    --command     -c       TEXT                    Custom command (overrides reverse shell)                                                                                                   │
│    --proxy       -x       TEXT                    HTTP proxy (http://ip:port)                                                                                                                │
│    --verbose     -v       [quiet|normal|verbose]  Logging verbosity [default: normal]                                                                                                        │
│    --help                                         Show this message and exit.                                                                                                                │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

Fullchain

يهدف الأمر الفرعي fullchain إلى ربط ثغرتي XSS وRCE معًا. وهو يتوافق مع سيناريو لا تملك فيه سوى الوصول إلى مستخدم بصلاحيات منخفضة وتريد تحقيق تنفيذ الأوامر عن بُعد. لن يعمل هذا إلا إذا كان المستخدم الذي يزور صفحة /reports/activity هو admin أو superadmin. في الواقع، فقط هذه الأدوار لديها الحق في إنشاء واستعادة نسخة احتياطية، وهو أمر ضروري لتسميم قاعدة البيانات وتشغيل سلسلة Laravel pop لاحقًا.

تنزيل الأداة