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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
WAF-A-MoLE — مُختبر اختراق مُوجَّه قائم على الطفرات لجدران الحماية لتطبيقات الويب المعتمدة على التعلّم الآلي | Kitploit
أدوات/GitHubGitHub/avalz/waf-a-mole
تجاوز WAFأمن الويبالاختبار العشوائيتعلم الآلةالهجوم العدائي
GitHubavalz/waf-a-mole

WAF-A-MoLE

مُختبر اختراق مُوجَّه قائم على الطفرات لجدران الحماية لتطبيقات الويب المعتمدة على التعلّم الآلي

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

الأكثر شعبية

عرض الكل →

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

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

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

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

WAF-A-MoLE

مُشعِّلٌ موجَّهٌ قائمٌ على الطفرات لجدران الحماية النارية لتطبيقات الويب المعتمدة على التعلم الآلي، مستوحىً من AFL ومبنيٌّ على FuzzingBook لأندرياس زيلر وآخرين.

بالنظر إلى استعلام حقن SQL مُدخل، يحاول إنتاج استعلام ثابت دلاليًا قادر على تجاوز جدار الحماية الناري المستهدف. يمكنك استخدام هذه الأداة لتقييم متانة منتجك من خلال السماح لـ WAF-A-MoLE باستكشاف فضاء الحلول لإيجاد "نقاط عمياء" خطيرة لم يغطيها المصنِّف المستهدف.

Python Version License Documentation Status

المعمارية

هندسة WAF-A-MoLE

يأخذ WAF-A-MoLE حمولة أولية ويُدخلها في مجمَّع الحمولات، الذي يدير طابورًا ذا أولوية مُرتبًا حسب درجة ثقة جدار الحماية الناري في كل حمولة.

خلال كل تكرار، يُمرَّر رأس مجمَّع الحمولات إلى المُشعِّل، حيث يتم تحويره عشوائيًا بتطبيق أحد مشغلات التحوير المتاحة.

مشغلات الطفرات

جميع مشغلات الطفرات تحافظ على الدلالة وتستفيد من القدرة التعبيرية العالية للغة SQL (في هذه النسخة، MySQL).

فيما يلي مشغلات الطفرات المتاحة في النسخة الحالية من WAF-A-MoLE.

المشغلمثال
تبديل حالة الأحرفadmin' OR 1=1# ⇒ admin' oR 1=1#
استبدال المسافاتadmin' OR 1=1# ⇒ admin'\t\rOR\n1=1#
حقن التعليقاتadmin' OR 1=1# ⇒ admin'/**/OR 1=1#
إعادة كتابة التعليقاتadmin'/**/OR 1=1# ⇒ admin'/*xyz*/OR 1=1#abc
ترميز الأعداد الصحيحةadmin' OR 1=1# ⇒ admin' OR 0x1=(SELECT 1)#
تبديل العواملadmin' OR 1=1# ⇒ admin' OR 1 LIKE 1#
الثابت المنطقيadmin' OR 1=1# ⇒ admin' OR 1=1 AND 0<1#
خلط الأرقامadmin' OR 1=1# ⇒ admin' OR 2=2#

كيفية الاستشهاد بنا

يطبِّق WAF-A-MoLE المنهجية المقدمة في "WAF-A-MoLE: Evading Web Application Firewalls through Adversarial Machine Learning". يمكن أيضًا العثور على نسخة ما قبل الطباعة من مقالتنا على arXiv.

إذا كنت ترغب في الاستشهاد بنا، يُرجى استخدام المرجع التالي (BibTeX):

@inproceedings{demetrio20wafamole,
  title={WAF-A-MoLE: evading web application firewalls through adversarial machine learning},
  author={Demetrio, Luca and Valenza, Andrea and Costa, Gabriele and Lagorio, Giovanni},
  booktitle={Proceedings of the 35th Annual ACM Symposium on Applied Computing},
  pages={1745--1752},
  year={2020}
}

تشغيل WAF-A-MoLE

المتطلبات الأساسية

  • numpy
  • keras
  • scikit-learn
  • joblib
  • sqlparse
  • networkx
  • Click

الإعداد

pip install -r requirements.txt

مثال استخدام

يمكنك تقييم متانة جدار الحماية الناري الخاص بك، أو تجربة WAF-A-MoLE ضد بعض المصنِّفات النموذجية. في الحالة الأولى، ألقِ نظرة على صنف Model. يجب على نموذجك المخصص تنفيذ هذا الصنف ليتم تقييمه بواسطة WAF-A-MoLE. لقد قدمنا بالفعل مغلِّفات لمصنِّفات sci-kit learn و keras يمكن توسيعها لتناسب مرحلة استخراج الميزات الخاصة بك (إن وجدت).

المساعدة

wafamole --help

Usage: wafamole [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  evade  Launch WAF-A-MoLE against a target classifier.

wafamole evade --help

Usage: wafamole evade [OPTIONS] MODEL_PATH PAYLOAD

  Launch WAF-A-MoLE against a target classifier.

Options:
  -T, --model-type TEXT     Type of classifier to load
  -t, --timeout INTEGER     Timeout when evading the model
  -r, --max-rounds INTEGER  Maximum number of fuzzing rounds
  -s, --round-size INTEGER  Fuzzing step size for each round (parallel fuzzing
                            steps)
  --threshold FLOAT         Classification threshold of the target WAF [0.5]
  --random-engine TEXT      Use random transformations instead of evolution
                            engine. Set the number of trials
  --output-path TEXT        Location were to save the results of the random
                            engine. NOT USED WITH REGULAR EVOLUTION ENGINE
  --help                    Show this message and exit.

تجاوز النماذج النموذجية

نقدم بعض النماذج المُدرَّبة مسبقًا التي يمكنك التجربة بها، والموجودة في wafamole/models/custom/example_models. المصنِّفات التي استخدمناها مُدرجة في الجدول أدناه.

اسم المصنفالخوارزمية
WafBrainشبكة عصبية متكررة
ML-Based-WAFSVM غير خطي
ML-Based-WAFالانحدار التدرج العشوائي
ML-Based-WAFAdaBoost
قائم على الرموزNaive Bayes
قائم على الرموزRandom Forest
قائم على الرموزSVM خطي
قائم على الرموزSVM غاوسي
SQLiGoT - موجه متناسبSVM غاوسي
SQLiGoT - موجه غير متناسبSVM غاوسي
SQLiGoT - غير موجه متناسبSVM غاوسي
SQLiGoT - غير موجه غير متناسبSVM غاوسي

بالإضافة إلى جدران الحماية النارية القائمة على التعلم الآلي، يدعم WAF-a-MoLE أيضًا جدران الحماية النارية القائمة على القواعد. على وجه التحديد، يوفر مغلِّفًا لجدار الحماية الناري ModSecurity المُزوَّد بـ OWASP Core Rule Set (CRS)، استنادًا إلى مشروع pymodsecurity.

WAF-BRAIN - شبكة عصبية متكررة

تجاوز المصنِّف المُدرَّب مسبقًا لـ WAF-Brain باستخدام مكافئ لـ admin' OR 1=1#.

wafamole evade --model-type waf-brain wafamole/models/custom/example_models/waf-brain.h5  "admin' OR 1=1#"

ML-Based-WAF - SVM غير خطي (مع مجموعة بيانات WAF-A-MoLE الأصلية)

تجاوز المصنِّف SVM المُدرَّب مسبقًا لـ ML-Based-WAF باستخدام مكافئ لـ admin' OR 1=1#.

wafamole evade --model-type mlbasedwaf wafamole/models/custom/example_models/mlbasedwaf_svc.dump  "admin' OR 1=1#"

ML-Based-WAF - SVM غير خطي (مع مجموعتي بيانات SQLiV5/SQLiV3)

تجاوز المصنِّف SVM المُدرَّب مسبقًا لـ ML-Based-WAF باستخدام مكافئ لـ admin' OR 1=1#. لاحظ أن SQLiV5 هي مجموعة بيانات مأخوذة من Kaggle موسعة بسلسلة من الاستعلامات التي تم إنشاؤها بواسطة WAF-A-MoLE نفسه، كدليل على المفهوم أن استعلامات WAF-A-MoLE يمكن أن تعزز متانة جدار الحماية الناري بإعادة التدريب. استخدم mlbasedwaf_svc_sqliv3.dump لتجاوز الجدار الناري المُدرَّب بمجموعة بيانات Kaggle الأصلية (SQLiV3).

wafamole evade --model-type mlbasedwaf wafamole/models/custom/example_models/mlbasedwaf_svc_sqliv5.dump  "admin' OR 1=1#"

ML-Based-WAF - الانحدار التدرج العشوائي (SGD)

تجاوز المصنِّف SGD المُدرَّب مسبقًا لـ ML-Based-WAF باستخدام مكافئ لـ admin' OR 1=1#.

wafamole evade --model-type mlbasedwaf wafamole/models/custom/example_models/mlbasedwaf_sgd.dump  "admin' OR 1=1#"

ML-Based-WAF - AdaBoost

تجاوز المصنِّف AdaBoost المُدرَّب مسبقًا لـ ML-Based-WAF باستخدام مكافئ لـ admin' OR 1=1# (يستغرق وقتًا أطول من النماذج الأخرى، حوالي 2 إلى 5 دقائق من وقت التشغيل).

تنزيل الأداة