Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Next.js_exploit_CVE-2024-34351 — عرض تعليمي لثغرة تزوير طلب الخادم (SSRF) في Next.js (CVE-2024-34351)، مع أمثلة خطوة بخطوة للاستغلال والتخفيف. | Kitploit
أدوات/GitHubGitHub/avergnaud/next.js_exploit_cve-2024-34351
تحليل الثغرات الأمنيةاستغلال تطبيقات الويبأمن الويبالتعلم والتعليممختبرات وتدريب عملي
GitHubavergnaud/next.js_exploit_cve-2024-34351

Next.js_exploit_CVE-2024-34351

عرض تعليمي لثغرة تزوير طلب الخادم (SSRF) في Next.js (CVE-2024-34351)، مع أمثلة خطوة بخطوة للاستغلال والتخفيف.

عرض المستودع
111منذ 2 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

csr-rsc-ssg-isr-ssr-ssrf

يمكن استخدام هذا المستودع كدعم لتقديم لقاء أو أكثر. المسار هو كما يلي...

  • "CSR" Client Side Rendering: React كمكتبة SPA قياسية
  • "RSC" React Server Components: تنفيذ مكونات React فقط على الخادم
  • "SSG" Static Site Generation: تنفيذ مكونات React أثناء البناء
  • "ISR" Incremental Static Regeneration: إعادة توليد المكونات حسب الطلب
  • "SSR" Server Side Rendering: تقديم مسبق على الخادم ثم تنفيذ (hydration) على العميل
  • "SSRF" Server Side Request Forgery: ثغرة أمنية تم إصلاحها مؤخرًا في Next.JS

يعتمد هذا العمل بشكل أساسي على مصدرين:

  • https://demystifying-rsc.vercel.app/
  • https://www.assetnote.io/resources/research/digging-for-ssrf-in-nextjs-apps

mind map

CSR Client Side Rendering

1-csr-load-data vanilla react SPA loading data

mind map CSR

[!IMPORTANT] CSR (Client-Side Rendering): يتم تسليم كود React إلى المتصفح، الذي يقوم بإنشاء المحتوى الذي يتم إدراجه في DOM.

client side rendering loading data

عرض توضيحي

cd 1-csr-load-data
npm start

CSR load data gif

2-csr-router vanilla react SPA routing

[!IMPORTANT] بعد تحميل الصفحة لأول مرة، يستخدم التنقل إلى صفحات أخرى على نفس موقع الويب JavaScript لإعادة عرض أجزاء من الصفحة دون الحاجة إلى تحديث كامل للصفحة.

عرض توضيحي

cd 2-csr-router
npm start

client side rendering routing

RSC React Server Components

3-rsc-load-data React Server Components (Next.js impl) loading data

mind map CSR

[!IMPORTANT] مكونات React التي تمت كتابتها ليتم تشغيلها فقط على الخادم، وليس في المتصفح.

React Server Components loading data

عرض توضيحي

cd 3-rsc-load-data
npm run build
npm run start

client side rendering routing

4-rsc-router React Server Components (Next.js impl) routing

mind map CSR

[!IMPORTANT] يتم تنفيذ المكونات فقط على الخادم. السلوك الافتراضي هو التقديم الثابت: يتم تنفيذ المكونات في وقت البناء.

عرض توضيحي

cd 4-rsc-router
npm run build
npm run start

React server components routing

5-SSR SSR Server Side Rendering

mind map SSR

[!IMPORTANT] يعني SSR تقديم مكونات العميل مسبقًا على الخادم. يتم تشغيل كود React في الوقت الذي يتم طلبه. قد يتم تخزين النتيجة مؤقتًا للطلبات المستقبلية.

أفضل ممارسة: تعريف مكونات 'use client'; في أدنى مستوى ممكن في شجرة المكونات.

https://nextjs.org/docs/app/building-your-application/rendering/composition-patterns#moving-client-components-down-the-tree

Hydration

[!IMPORTANT] "في React، "hydration" هي كيفية "ربط" React بـ HTML الموجود الذي تم تقديمه بالفعل بواسطة React في بيئة خادم. أثناء hydration، سيحاول React إرفاق مستمعي الأحداث بالعلامات الموجودة وتولي تقديم التطبيق على العميل. في التطبيقات المبنية بالكامل مع React، عادةً ما تقوم بـ "hydration" لجذر واحد فقط، مرة واحدة عند بدء التشغيل للتطبيق بأكمله."

https://react.dev/reference/react-dom/client/hydrateRoot

https://www.gatsbyjs.com/docs/conceptual/partial-hydration/

عرض توضيحي

cd 5-ssr
npm run build
npm run start

SSR

6-pages-router-ssg (Next.js impl)

mind map page router SSG

[!IMPORTANT] SSG (Static Site Generation) باستخدام موجه الصفحات: يتم تشغيل كود React عند بناء تطبيقك، ويكون الناتج المُنشأ ثابتًا.

عرض توضيحي

cd 6-pages-router-ssg
npm run build
npm run start

7-pages-router-isr (Next.js impl)

mind map page router ISR

[!IMPORTANT] ISR (باستخدام موجه الصفحات): "يسمح لك Next.js بإنشاء أو تحديث صفحات ثابتة بعد بناء موقعك. يمكنك Incremental Static Regeneration (ISR) من استخدام التوليد الثابت على أساس كل صفحة، دون الحاجة إلى إعادة بناء الموقع بأكمله. مع ISR، يمكنك الاحتفاظ بفوائد الثبات مع التوسع إلى ملايين الصفحات."

عرض توضيحي

cd 7-pages-router-isr
npm run build
npm run start

لماذا ISR؟

"قد تصبح البيانات قديمة عند وقت الطلب"

https://vercel.com/blog/nextjs-server-side-rendering-vs-static-generation

Server actions

https://react.dev/reference/rsc/server-actions

SSRF (تم إصلاحها في NextJS v14.1.1)

تعريف SSRF

...

لماذا؟

  • إذا كان لدينا إمكانية الوصول إلى خادم ضعيف ولكن ليس إلى الخادم المستهدف مباشرة (DMZ، جدار حماية...)
  • إذا أردنا تنفيذ طلبات مع إخفاء مصدرنا الخاص
  • ...

عرض توضيحي 8-ssrf-14.1.0

السياق

SSRF A

https://www.assetnote.io/resources/research/digging-for-ssrf-in-nextjs-apps

الهدف

SSRF B, الهدف

شروط استغلال CVE-2024-34351

  • تطبيق مبني على Next.JS بإصدار أقل من 14.1.1
  • استخدام دالة redirect، مع مسار مطلق. في العرض التوضيحي، في addTodo.js: redirect(/blog/${inputValue});

طريقة عمل دالة redirect

المصدر: https://www.assetnote.io/resources/research/digging-for-ssrf-in-nextjs-apps

  • دالة Next.JS redirect لا ترسل استجابة HTTP 302 إلى المتصفح.
تنزيل الأداة