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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
filtron — وكيل HTTP عكسي مع تصفية | Kitploit
أدوات/GitHubGitHub/asciimoo/filtron
أدوات دفاعيةأمن الويبأمن واجهات برمجة التطبيقات
GitHubasciimoo/filtron

filtron

وكيل HTTP عكسي مع تصفية

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Filtron

بروكسي HTTP عكسي لتصفية الطلبات وفق قواعد مختلفة. يمكن استخدامه بين خادم الويب الإنتاجي وخادم التطبيق لمنع إساءة استخدام الخلفية الخلفية للتطبيق.

كان الغرض الأصلي من هذا البرنامج هو الدفاع عن searx، ولكنه يمكن استخدامه لحماية أي تطبيق ويب.

التثبيت والإعداد

root@kitploit:~
$ go install github.com/asciimoo/filtron
$ "$GOPATH/bin/filtron" --help

القواعد

تحتوي القاعدة على سمتين إلزاميتين: name و actions

يمكن أن تحتوي القاعدة على جميع السمات التالية:

  • limit عدد صحيح - يحدد عدد الطلبات المطابقة المسموح لها بالوصول إلى التطبيق خلال interval ثانية. (يمكن حذفه إذا كان 0)
  • interval عدد صحيح - النطاق الزمني بالثواني لإعادة تعيين أعداد القاعدة (يمكن حذفه إذا كان limit هو 0)
  • filters قائمة من المحددات
  • aggregations قائمة من المحددات (إذا تم تحديد filters، فإنها تنشط فقط في حالة تطابق عامل التصفية)
  • subrules قائمة من القواعد (إذا تم تحديد filters، فإنها تنشط فقط في حالة تطابق عامل التصفية)
  • disabled منطقية - تعطيل قاعدة (الافتراضي هو false)
  • stop منطقية - إنهاء التحقق من الطلب فورًا وتخطي القواعد المتبقية (الافتراضي هو false)

تمثيل JSON لقاعدة:

root@kitploit:~
{
    "name": "example rule",
    "interval": 60,
    "limit": 10,
    "filters": ["GET:q", "Header:User-Agent=^curl"],
    "actions": [
        {"name": "log",
         "params": {"destination": "stderr"}},
        {"name": "block",
         "params": {"message": "Not allowed"}}
     ]
}

الشرح: السماح فقط بـ 10 طلبات في الدقيقة حيث يتم تمثيل q كمعامل GET ويبدأ رأس وكيل المستخدم بـ curl. يتم تسجيل الطلب إلى STDERR وحظره برسالة خطأ مخصصة إذا تم تجاوز الحد. راجع أمثلة إضافية هنا.

actions

يتم تنشيط إجراءات القاعدة بشكل تسلسلي إذا تجاوز الطلب حد القاعدة

ملاحظة: فقط الإجراء الأول للقاعدة الذي يقدم استجابة مخصصة سينفذ

الإجراءات المنفذة حالياً

log

تسجيل الطلب

block

تقديم استجابة HTTP 429 بدلاً من تمرير الطلب إلى التطبيق

shell

تنفيذ أمر شيل. المعاملات المطلوبة هي cmd (سلسلة نصية) و args (قائمة من المحددات) (مثال: {"name": "shell", "params": {"cmd": "echo %v is the IP", "args": ["IP"]}})

filters

إذا تم العثور على جميع المحددات، فإنه يزيد عدادًا. تمنع القاعدة الطلب إذا وصل العداد إلى limit

aggregations

يحسب القيم التي تُرجعها المحددات. تمنع القاعدة الطلب إذا وصل عدد أي قيمة إلى limit

subrules

يمكن أن تحتوي كل قاعدة على أي عدد من القواعد الفرعية. تنشط عند تطابق مرشح القاعدة الأم.

المحددات

يمكن استخراج أجزاء مختلفة من الطلب باستخدام تعبيرات المحددات.

المحددات هي سلاسل نصية يمكنها مطابقة أي سمة من سمة طلب HTTP بالصيغة التالية:

root@kitploit:~
[!]RequestAttribute[:SubAttribute][=Expression]
  • ! يمكنها نفي المحدد
  • RequestAttribute (إلزامي) يختار جزءًا محددًا من الطلب - القيم الممكنة:
    • قيمة واحدة
      • IP
      • Host
      • Path
      • Method
    • قيم متعددة
      • GET
      • POST
      • Param - هو اسم مستعار لكل من GET و POST
      • Cookie
      • Header
  • SubAttribute إذا لم يكن قيمة واحدة، فيمكنه تحديد السمة الداخلية

أمثلة

IP يعيد عنوان IP للعميل

GET:x يعيد معامل GET x إذا كان موجودًا

!Header:Accept-Language يعيد صحيحًا إذا لم يكن هناك رأس HTTP Accept-Language

Path=^/(x|y)$ يطابق إذا كان المسار هو /x أو /y

IP=nslookup(example.com) يطابق إذا كان عنوان IP للعميل هو أحد عناوين IP الخاصة بـ example.com.

واجهة برمجة التطبيقات (API)

يمكن تكوين Filtron من خلال REST API الخاصة به والتي تستمع على 127.0.0.1:4005 افتراضيًا.

نقاط نهاية API

/rules

القواعد المحملة بتنسيق JSON

/rules/reload

إعادة تحميل ملف القواعد المحدد عند بدء التشغيل

واجهة المستخدم (UI)

واجهة المستخدم المبنية على API

webui

الأخطاء

أخطاء أو اقتراحات؟ تفضل بزيارة متتبع المشكلات.

تنزيل الأداة
RequestAttribute
  • Expression القيم الممكنة:
    • تعبير عادي لتصفية قيم السمة المحددة.
    • nslookup(Hostname) لتصفية قيم السمة المحددة باستخدام عناوين IP الخاصة بـ Hostname. يحل Filtron Hostname إلى عناوين IP الخاصة به عند تحميل القاعدة (IPv4 و IPv6).