
صفحة هبوط لشركة Next.js ضعيفة عمدًا توضح CVE-2025-55182، حقن JSON يؤدي إلى RCE/SSRF عبر إلغاء تسلسل غير آمن في مكونات خادم React.
هذا مستودع بمثال لصفحة هبوط شركاتية متعددة الصفحات مبنية على Next.js 15.0.0 + React 19.0.0. يحاكي الموقع بنية مشابهة لـ t1.ru: الرئيسية، المنتجات، دراسات الحالة، الوسائط، حول الشركة، جهات الاتصال. نستخدم React Server Components (RSC) وTailwind CSS وFramer Motion للرسوم المتحركة وlucide-react للأيقونات وshadcn/ui للشارات وPrisma مع SQLite لقاعدة البيانات (نموذج جهات الاتصال يحفظ الرسائل).
صُنع المشروع ليكون قابلاً للاستغلال عمدًا لعرض PT-2025-48817 — حقن JSON عبر نموذج جهات الاتصال، والذي قد يؤدي إلى RCE/SSRF بسبب إلغاء التسلسل غير الآمن unsafe deserialization في react-server-dom-webpack
استنسخ المستودع:
git clone <url-репы>
cd <директория>
ثبّت التبعيات:
npm install
إذا واجهت مشاكل في الإصدارات (مثل build errors)، جرّب:
npm install --legacy-peer-deps
أو قم بتحديث Node.js:
sudo apt remove --purge nodejs npm -y
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt update
sudo apt install -y nodejs
node -v # должно быть v20.x.x
rm -rf node_modules package-lock.json
npm install
قم بتهيئة Prisma (إذا كنت بحاجة إلى إعادة التهيئة):
npx prisma init
npx prisma migrate dev --name init
يجب أن يحتوي .env على: DATABASE_URL="file:./prisma/dev.db".
وضع التطوير (Dev):
npm run dev
افتح http://localhost:3000.
البناء والإنتاج:
npm run build
npm run start
عرض قاعدة البيانات:
npx prisma studio
{ "type": "system", "payload": { "action": "ls" } }، فسينفذ exec الأمر. هذا محاكاة لهجوم إلغاء التسلسل deserialization attack لـ RSC.