Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2023-48223 — إثبات مفهوم يوضح ارتباك خوارزمية JWT في مكتبة fast-jwt. يتضمن خادمًا ضعيفًا وسكربت تزوير الرموز وإصلاح التحقق للتعليم الأمني. | Kitploit
أدوات/GitHubGitHub/lucastran05/cve-2023-48223
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليممختبرات وتدريب عملي
GitHublucastran05/cve-2023-48223

CVE-2023-48223

إثبات مفهوم يوضح ارتباك خوارزمية JWT في مكتبة fast-jwt. يتضمن خادمًا ضعيفًا وسكربت تزوير الرموز وإصلاح التحقق للتعليم الأمني.

عرض المستودع
48منذ 5 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2023-48223 PoC (التباس الخوارزمية في fast-jwt)

يستعرض هذا المستودع التباس خوارزمية JWT في fast-jwt عندما لا يقيّد التحقق من التوكن الخوارزميات المسموح بها.

إعداد البيئة

المتطلبات

  • Node.js الإصدار 18 أو أحدث
  • npm
  • OpenSSL (يجب أن يكون متاحًا في PATH الخاص بالطرفية)

1) تثبيت التبعيات

من جذر المشروع، قم بتشغيل:

root@kitploit:~
npm install

2) إنشاء مفاتيح RSA

يتوقع التطبيق وجود هذه الملفات:

  • keys/private.pem
  • keys/public.pem

قم بتشغيل إحدى مجموعتي الأوامر التاليتين.

PowerShell (ويندوز):

root@kitploit:~
New-Item -ItemType Directory -Path keys -Force | Out-Null
openssl genrsa -out keys/private.pem 2048
openssl rsa -in keys/private.pem -RSAPublicKey_out -out keys/public.pem

لينكس/macOS/Git Bash:

root@kitploit:~
mkdir -p keys
openssl genrsa -out keys/private.pem 2048
openssl rsa -in keys/private.pem -RSAPublicKey_out -out keys/public.pem

3) تشغيل الخادم

root@kitploit:~
node server.js

المخرجات المتوقعة:

root@kitploit:~
Server running at http://localhost:3000

التشغيل السريع (مسار PoC)

1) الحصول على توكن عادي

root@kitploit:~
curl http://localhost:3000/generateToken

2) تزوير توكن مدير

root@kitploit:~
node sign.js

انسخ التوكن المطبوع.

3) استدعاء نقطة نهاية المدير باستخدام التوكن المزوّر

root@kitploit:~
node checkAdmin.js <JWT_TOKEN>

إذا نجح الهجوم، يحتوي الرد على Welcome Admin!.

لماذا يُعد هذا عرضةً للثغرات؟

في server.js، لا يقيّد المُتحقق الخوارزميات:

root@kitploit:~
const verifySync = createVerifier({
  key: publicKey,
});

بدون قائمة سماح للخوارزميات، قد يقبل الخادم توكن HS256 خبيثًا موقعًا باستخدام المفتاح العام باعتباره المفتاح السري لـ HMAC.

شرح طريقة محاكاة المكتبة المصابة (لإدراجها في التقرير)

في عروض CVE الخاصة بالمجموعة، الكائن المصاب هو المكتبة (لا يمكن تشغيلها بشكل مستقل). لذلك يلزم استخدام تطبيق وهمي لمحاكاة كيفية استدعاء النظام الفعلي لواجهات برمجة التطبيقات (API) الخاصة بتلك المكتبة. في هذا المستودع، ملف server.js هو طبقة التطبيق الوهمي.

  • نقطة النهاية /generateToken: يستدعي هذا المسار createSigner من fast-jwt باستخدام RS256 لإنشاء توكن صالح لمستخدم عادي (admin=false). الغرض منه إنشاء توكن أساسي "عادي" للمقارنة مع التوكن المزوّر.
  • نقطة النهاية /admin: يستقبل هذا المسار توكن Bearer، ثم يستدعي createVerifier من fast-jwt للتحقق من التوكن وتحديد صلاحية المدير وفقًا لـ payload.admin. النقطة القابلة للاستغلال المتعمدة هي أن المُتحقق لا يقيّد الخوارزميات، مما يؤدي إلى الالتباس في الخوارزمية.

تدفق كود PoC الداعم:

  • sign.js: يحاكي المهاجم الذي يستدعي createSigner باستخدام HS256 ويستخدم المفتاح العام باعتباره المفتاح السري لتوقيع توكن مزور (admin=true).
  • checkAdmin.js: يرسل طلبًا إلى /admin باستخدام التوكن المزوّر لإثبات أن الخادم يقبل التوكن المزوّر في الإعداد القابل للاستغلال.

باختصار، لم تعِد المجموعة كتابة دوال المكتبة. استخدمت المجموعة فقط واجهات المكتبة المصابة الأصلية (createSigner, createVerifier) داخل التطبيق الوهمي لإعادة إنتاج سياق الاستغلال بدقة.

الإصلاح

تقييد التحقق على RS256:

root@kitploit:~
const verifySync = createVerifier({
  key: publicKey,
  algorithms: ["RS256"],
});

ملاحظة الأمان

هذا المشروع مخصص لتعلم الأمن السيبراني في بيئة مختبرية خاضعة للرقابة فقط.

تنزيل الأداة