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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
web_exploit_detector — مكتشف الثغرات على الويب هو تطبيق Node.js يُستخدم للكشف عن الإصابات المحتملة والكود الخبيث والملفات المشبوهة في بيئات استضافة الويب | Kitploit
أدوات/GitHubGitHub/polaris64/web_exploit_detector
ماسحات الثغرات الأمنيةتحليل الكودأمن الويبتحليل البرمجيات الخبيثة
GitHubpolaris64/web_exploit_detector

web_exploit_detector

مكتشف الثغرات على الويب هو تطبيق Node.js يُستخدم للكشف عن الإصابات المحتملة والكود الخبيث والملفات المشبوهة في بيئات استضافة الويب

عرض المستودع
863610منذ 9 سنواتتمت المراجعة من قبل Kitploit
الموقع الإلكتروني

الأكثر شعبية

عرض الكل →

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

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

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

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

كاشف استغلالات الويب

شعار كاشف استغلالات الويب

مقدمة

كاشف استغلالات الويب هو تطبيق Node.js (ووحدة NPM) يُستخدم لاكتشاف الإصابات المحتملة والكود الخبيث والملفات المشبوهة في بيئات استضافة الويب. هذا التطبيق مُصمم ليعمل على خوادم الويب التي تستضيف موقعًا إلكترونيًا واحدًا أو أكثر. سيؤدي تشغيل التطبيق إلى إنشاء قائمة بالملفات التي يحتمل أن تكون مصابة، بالإضافة إلى وصف للإصابة ومراجع لمصادر عبر الإنترنت تتعلق بها.

اعتبارًا من الإصدار 1.1.0، يتضمن التطبيق أيضًا أدوات مساعدة لإنشاء ومقارنة لقطات لهيكل الدليل، مما يتيح للمستخدمين معرفة ما إذا تم تعديل أي ملفات أو إضافتها أو إزالتها.

التطبيق مستضاف هنا على GitHub حتى يستفيد منه الآخرون، بالإضافة إلى السماح للآخرين بالمساهمة بقواعد الكشف الخاصة بهم.

روابط

  • موقعي الإلكتروني: https://www.polaris64.net/
  • مدونتي في الأمن السيبراني، والتي تحتوي على مقالات تصف بعض هذه الاستغلالات وكيفية إزالتها: https://www.polaris64.net/blog/cyber-security
  • اتصل بي
  • وحدة NPM

التثبيت

المستخدمون العاديون

أبسط طريقة لتثبيت كاشف استغلالات الويب هي كوحدة NPM عامة: -

npm install -g web_exploit_detector

إذا كنت تستخدم Linux أو نظام تشغيل آخر مستند إلى Unix، فقد تحتاج إلى تشغيل هذا الأمر كجذر (مثل sudo npm install -g web_exploit_detector).

التحديث

يجب تحديث الوحدة بانتظام لضمان وجود جميع قواعد الكشف الحديثة. تشغيل الأمر أعلاه سيقوم دائمًا بتنزيل أحدث إصدار مستقر (مختبر). لتحديث إصدار تم تثبيته بالفعل، ما عليك سوى تشغيل ما يلي: -

npm update -g web_exploit_detector

مرة أخرى، قد تضطر إلى استخدام الأمر sudo كما هو مذكور أعلاه.

المستخدمون التقنيون

يمكنك أيضًا استنساخ مستودع Git وتشغيل البرنامج النصي مباشرةً كما يلي: -

  1. git clone https://github.com/polaris64/web_exploit_detector
  2. cd web_exploit_detector
  3. npm install

التشغيل

من وحدة NPM

إذا قمت بتثبيت كاشف استغلالات الويب كوحدة NPM (انظر أعلاه)، فإن تشغيل الماسح الضوئي يكون ببساطة عن طريق تشغيل الأمر التالي، مع تمرير المسار إلى مجلد الجذر الخاص بك (موقع ملفات موقعك): -

wed-scanner --webroot=/var/www/html

تتوفر خيارات أخرى لسطر الأوامر، فقط قم بتشغيل wed-scanner --help لرؤية رسالة مساعدة تصفها.

تشغيل البرنامج النصي بهذه الطريقة سينتج مخرجات قابلة للقراءة البشرية على وحدة التحكم. هذا مفيد جدًا عند تشغيل البرنامج النصي مع cron على سبيل المثال، حيث يمكن إرسال المخرجات كبريد إلكتروني كلما تم تشغيل البرنامج النصي.

يدعم البرنامج النصي أيضًا كتابة النتائج بتنسيق JSON أكثر قابلية للقراءة بواسطة الكمبيوتر لمعالجتها لاحقًا. لتفعيل هذا الإخراج، راجع وسيط سطر الأوامر --output.

من مستودع Git المستنسخ

ما عليك سوى استدعاء البرنامج النصي عبر node وتمرير المسار إلى مجلد الجذر الخاص بك كما يلي: -

node index.js --webroot=/var/www/html

لقطات الدليل المتكررة

يأتي كاشف استغلالات الويب أيضًا مع أداتين مساعدتين للمساعدة في تحديد الملفات التي قد تكون تغيرت بشكل غير متوقع. عادةً ما يتضمن الهجوم الناجح على موقع ما حذف الملفات أو إضافة ملفات جديدة أو تغيير الملفات الموجودة بطريقة ما.

اللقطات

اللقطة (كما تُستخدم في هذه الأدوات) هي ملف JSON يسرد جميع الملفات بالإضافة إلى وصف لمحتوياتها في اللحظة التي تم فيها إنشاء اللقطة. إذا تم إنشاء لقطة يوم الاثنين، على سبيل المثال، ثم تمت مهاجمة الموقع يوم الثلاثاء، فإن إجراء مقارنة بين هذه اللقطة وملفات الموقع الحالية بعد ذلك سيظهر أن ملفًا واحدًا أو أكثر قد تمت إضافته أو حذفه أو تغييره. الهدف من هذه الأدوات هو السماح بإنشاء هذه اللقطات وإجراء المقارنات عند الحاجة.

تخزن اللقطة كل مسار ملف مع تجزئة SHA-256 لمحتويات الملف. التجزئة، أو الملخص، هي ملخص صغير لرسالة، وهي في هذه الحالة محتويات الملف. إذا تغيرت محتويات الملف، حتى بطريقة صغيرة جدًا، ستصبح التجزئة مختلفة تمامًا. يوفر هذا طريقة جيدة لاكتشاف أي تغييرات في محتويات الملف.

الاستخدام

يتم تثبيت الأداتين التاليتين أيضًا كجزء من كاشف استغلالات الويب: -

  • wed-generate-snapshot: تسمح هذه الأداة بإنشاء لقطة لجميع الملفات (بشكل متكرر) في دليل محدد بواسطة "--webroot". سيتم حفظ اللقطة في ملف محدد في خيار "--output".
  • wed-compare-snapshot: بمجرد إنشاء لقطة، يمكن مقارنتها بالمحتويات الحالية لنفس الدليل. يتم تحديد اللقطة المراد فحصها باستخدام خيار "--snapshot". يتم تخزين الدليل الأساسي للمقارنة داخل اللقطة، ولكن إذا تغير الدليل الأساسي منذ إنشاء اللقطة، فيمكن استخدام خيار --webroot.

سير العمل

يمكن إنشاء اللقطات حسب الحاجة، ولكن كقاعدة عامة يجب إنشاؤها كلما كان الموقع في حالة نظيفة (غير مصابة) وكلما تم إجراء تغيير شرعي. بالنسبة للمواقع القائمة على أنظمة إدارة المحتوى مثل WordPress، يجب إنشاء اللقطات بانتظام حيث أن التحميلات الجديدة ستتسبب في تغيير الحالة الجديدة عن اللقطة المخزنة. بالنسبة للمواقع التي لا ينبغي أن تتغير ملفاتها أبدًا، يمكن إنشاء لقطة واحدة ثم استخدامها إلى أجل غير مسمى للتأكد من عدم تغير أي شيء بالفعل.

الاستخدام كوحدة

الملف src/web-exploit-detector.js هو وحدة ES6 تصدر مجموعة القواعد كـ rules بالإضافة إلى عدد من الدوال: -

  • executeTests(settings): تشغل مدقق الاستغلالات بناءً على كائن settings الممرر. للاستخدام، يرجى مراجعة ملف index.js.
  • formatResult(result): تأخذ نتيجة اختبار result واحدة من المصفوفة التي أرجعتها executeTests() وتنشئ سلسلة من النتائج جاهزة للإخراج لهذا الاختبار.
  • getFileList(path): ترجع مصفوفة من الملفات من المسار الأساسي path باستخدام readDirRecursive().
  • processRulesOnFile(file, rules): تعالج جميع القواعد من المصفوفة rules على ملف واحد file (مسار نصي).
  • readDirRecursive(path): دالة تكرارية ترجع Promise التي سيتم حلها بمصفوفة من جميع الملفات في path والأدلة الفرعية.

الملف src/cli.js هو واجهة سطر أوامر بسيطة لهذه الوحدة كما هو مستخدم بواسطة البرنامج النصي wed-scanner، لذا فإن قراءة هذا البرنامج النصي تُظهر طريقة واحدة يمكن بها استخدام هذه الوحدة.

يستخدم المشروع Babel لتجميع وحدات ES6 في "src" إلى وحدات JavaScript عادية في "lib". إذا كنت تستخدم إصدارًا قديمًا من Node.js، فيمكن استيراد الوحدات باستخدام require() من دليل "lib" بدلاً من ذلك.

البناء

تحتوي الحزمة على Babel كاعتماد تطويري وبرامج "build" و "watch:build". عند تشغيل برنامج "build" (npm run build)، سيتم تجميع وحدات ES6 الموجودة في "./src" وحفظها في "./lib"، حيث يتم تضمينها بواسطة برامج CLI.

دليل "./lib" مضمن في المستودع حتى يتمكن أي مستخدم من استنساخ المستودع وتشغيل التطبيق مباشرة دون الحاجة إلى تثبيت اعتمادات التطوير وبناء التطبيق.

استبعاد النتائج حسب القاعدة

في بعض الأحيان، ستقوم القواعد، خاصة تلك الموسومة بـ suspicion، بتحديد ملف نظيف كاستغلال محتمل. لهذا السبب، تم تضمين نظام يسمح باستبعاد الملفات من الفحص لقاعدة معينة.

يقوم برنامج wed-results-to-exceptions بأخذ ملف إخراج من برنامج الكاشف الرئيسي (راجع خيار --output) ويمنحك خيار استبعاد كل ملف بدوره لكل قاعدة محددة. يتم تخزين جميع الملفات المستبعدة في ملف باسم wed-exceptions.json (في الدليل الرئيسي للمستخدم) والذي يتم قراءته بواسطة البرنامج الرئيسي قبل تشغيل المسح الضوئي. إذا تم إدراج ملف في هذا الملف، فسيتم تخطي جميع القواعد المرفقة (بواسطة المعرف) عند فحص هذا الملف.

للحصول على تعليمات الاستخدام، ما عليك سوى تشغيل wed-results-to-exceptions. ستحتاج إلى أن يكون لديك ملف JSON إخراج صالح من تشغيل سابق للكاشف الرئيسي باستخدام خيار --output أولاً.

للمستخدمين الذين يعملون مباشرة مع مستودع Git، قم بتشغيل node results_to_exceptions.js في الدليل الجذر للمشروع.

محرك القواعد

يعمل التطبيق باستخدام مجموعة من "القواعد" التي يتم تحميلها عند تشغيل التطبيق. تتكون كل قاعدة من معرف واسم ووصف وقائمة عناوين URL ووسوم وعلامة إهمال، والأهم من ذلك مجموعة من الاختبارات.

يجب أن يكون كل اختبار فردي واحدًا مما يلي: -

  • تعبير عادي: أبسط نوع من الاختبارات، أي قيمة تطابق التعبير العادي ستجتاز الاختبار.
  • رد اتصال منطقي: يجب أن ترجع دالة رد الاتصال قيمة منطقية تشير إلى ما إذا كانت القيمة تجتاز الاختبار. رد الاتصال حر في تنفيذ أي عمليات متزامنة.
  • رد اتصال Promise: يجب أن ترجع دالة رد الاتصال Promise التي يتم حلها بقيمة منطقية تشير إلى ما إذا كانت القيمة تجتاز الاختبار. هذا النوع من رد الاتصال حر في تنفيذ أي عمليات غير متزامنة.

أنواع الاختبارات التالية مدعومة: -

تنزيل الأداة