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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
PoW-Shield — مشروع مخصص لمكافحة هجمات حجب الخدمة من الطبقة 7 (Layer 7 DDoS) باستخدام إثبات العمل (proof of work)، مع جدار حماية للتطبيقات (WAF) ووحدة تحكم إضافية. مكتمل بمجموعة كاملة من الميزات ومعبأ في حاويات (containerized) للنشر السريع وخفيف الوزن. | Kitploit
أدوات/GitHubGitHub/ruisiang/pow-shield
أمن الويب
GitHubruisiang/pow-shield

PoW-Shield

مشروع مخصص لمكافحة هجمات حجب الخدمة من الطبقة 7 (Layer 7 DDoS) باستخدام إثبات العمل (proof of work)، مع جدار حماية للتطبيقات (WAF) ووحدة تحكم إضافية. مكتمل بمجموعة كاملة من الميزات ومعبأ في حاويات (containerized) للنشر السريع وخفيف الوزن.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

الوصف

PoW Shield يوفر حماية من هجمات رفض الخدمة الموزعة (DDoS) على طبقة التطبيق (OSI) من خلال العمل كبروكسي يستخدم إثبات العمل بين الخدمة الخلفية والمستخدم النهائي. يهدف هذا المشروع إلى تقديم بديل لطرق مكافحة DDoS العامة مثل ReCaptcha من Google التي كانت دائمًا مصدر إزعاج. الوصول إلى خدمة ويب محمية بواسطة PoW Shield أصبح أسهل من أي وقت مضى، فقط اذهب إلى الرابط، وسيقوم متصفحك بالتحقق تلقائيًا نيابة عنك.

يهدف PoW Shield إلى تقديم الخدمات التالية مجمعة في تطبيق ويب واحد / صورة Docker:

  • مصادقة إثبات العمل
  • تحديد المعدل وحظر عناوين IP
  • جدار حماية تطبيقات الويب

(جديد) مقال على LinkedIn

ظهور على Pentester Academy TV

قصة على Medium

الميزات

  • هيكل خدمة الويب
  • وظيفة البروكسي
  • تنفيذ إثبات العمل
  • الحاوية (Docker)
  • حظر عنوان IP
  • تحديد المعدل
  • اختبار الوحدة
  • تنفيذ WAF
  • مزامنة متعددة الحالات (Redis)
  • دعم SSL

مدعوم عبر وحدة تحكم PoW Phalanx:

  • إدارة متعددة الحالات
  • رموز القائمة البيضاء
  • مزامنة حظر عناوين IP
  • التحكم الديناميكي في الصعوبة
  • لوحة المعلومات

تنفيذ بديل بلغة Go PoW-Shield-Go (قيد التطوير) لأغراض اختبار الإجهاد والإصدار الإنتاجي المحسن في المستقبل.

كيف يعمل

ببساطة، يعمل PoW Shield كبروكسي أمام تطبيق/خدمة الويب الفعلية. يقوم بإجراء التحقق عبر إثبات العمل ويسمح فقط بمرور الزيارات الموثقة إلى الخادم الفعلي. البروكسي سهل التثبيت وقادر على حماية التطبيقات منخفضة الأمان باستخدام WAF.

هذا ما يحدث خلف الكواليس عندما يتصفح المستخدم خدمة ويب محمية بواسطة PoW Shield:

  1. يقوم الخادم بتوليد "بادئة" (prefix) عشوائية مشفرة بالنظام الست عشري (hex) ويرسلها مع صفحة PoW Shield إلى العميل.
  2. يقوم جافاسكريبت المتصفح من جانب العميل بمحاولة تخمين "nonce" بحيث عند إلحاقها بالبادئة، تنتج تجزئة SHA256 تحتوي على عدد من البتات الصفرية الرائدة أكبر من "الصعوبة" D المحددة من قبل الخادم. أي: SHA256(prefix + nonce)=0…0xxxx (ثنائي، مع أكثر من D من الأصفار الرائدة)
  3. يقوم جافاسكريبت من جانب العميل بإرسال الـ nonce المحسوب إلى الخادم للتحقق، إذا نجح التحقق، يقوم الخادم بتوليد كوكي للعميل لاجتياز المصادقة.
  4. يبدأ الخادم في توجيه زيارات العميل الموثقة إلى الخادم مع تفعيل تصفية WAF.

الإعدادات

يمكنك تكوين PoW Shield عبر الطرق التالية.

  • nodejs: .env (مثال: .env.example)
  • docker-compose: docker-compose.yaml (مثال: docker-compose.example.yaml)
  • docker run: -e parameter

المتغيرات البيئية

المتغيرالنوعالافتراضيالوصف
PORTعام3000المنفذ الذي يستمع إليه PoW Shield
SESSION_KEYعامالمفتاح السري لتوقيع الكوكيز، استخدم مفتاحًا فريدًا لأسباب أمنية، وإلا يمكن لأي شخص تزوير الكوكيز الموقعة الخاصة بك
BACKEND_URLعامموقع توجيه الزيارات الموثقة إليه، يتم قبول كل من IP والروابط (يقبل protocol://url(:port) أو protocol://ip(:port))
DATABASE_HOSTRedis127.0.0.1مضيف خدمة redis
DATABASE_PORTRedis6379منفذ خدمة redis
DATABASE_PASSWORDRedisnullكلمة مرور خدمة redis
POWإثبات العملonتشغيل/إيقاف وظيفة إثبات العمل (إذا لم يتم إيقافها مؤقتًا، فلماذا استخدام هذا المشروع على الإطلاق؟)
NONCE_VALIDITYإثبات العمل60000يحدد الحد الأقصى بالثواني التي يجب فيها إرسال nonce إلى الخادم بعد التوليد (يستخدم لفرض تغيير الصعوبة وتصفية nonces القديمة)
DIFFICULTYإثبات العمل13صعوبة المشكلة، عدد البتات الصفرية الرائدة في التجزئة المنتجة (0:سهل جدًا ~ 256:مستحيل، 13 (افتراضي) يستغرق حوالي 5 ثوانٍ لحسابه في المتصفح)
RATE_LIMITتحديد المعدلonتشغيل/إيقاف وظيفة تحديد المعدل
RATE_LIMIT_SAMPLE_MINUTESتحديد المعدل60يحدد عدد الدقائق حتى إعادة تعيين الإحصائيات للجلسة/IP
RATE_LIMIT_SESSION_THRESHOLDتحديد المعدل100عدد الطلبات التي يمكن أن ترسلها جلسة واحدة حتى تؤدي إلى إلغاء الرمز
RATE_LIMIT_BAN_IPتحديد المعدلonتشغيل/إيقاف وظيفة حظر IP
RATE_LIMIT_IP_THRESHOLDتحديد المعدل500عدد الطلبات التي يمكن أن ترسلها جلسة واحدة حتى تؤدي إلى حظر IP
RATE_LIMIT_BAN_MINUTESتحديد المعدل15عدد الدقائق التي يستمر فيها حظر IP
WAFWAFonتشغيل/إيقاف وظيفة WAF
WAF_URL_EXCLUDE_RULESWAFاستبعاد القواعد عند فحص رابط الطلب، استخدم ',' لفصل أرقام القواعد، استخدم '-' لتحديد نطاق (مثال: 1,2-4,5,7-10)
WAF_HEADER_EXCLUDE_RULESWAF

الاستخدام

Nodejs

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

  • Docker ^19.0.0
  • Nodejs ^14.0.0
root@kitploit:~
# استنساخ المستودع
git clone https://github.com/RuiSiang/PoW-Shield.git

# تثبيت التبعيات
npm install

# تكوين الإعدادات
cp -n .env.example .env
# تعديل ملف .env
nano .env

# تجميع الكود
npm run build

#############################################
# التشغيل مع قاعدة البيانات (redis)، موصى به وأسرع #
# قم بتثبيت redis أولاً                       #
# sudo apt-get install redis-server         #
#############################################
npm start
#############################################

#############################################
#        التشغيل بدون قاعدة بيانات (mock redis)        #
#############################################
npm run start:standalone # لينكس
npm run start:standalone-win # ويندوز
#############################################

# اختبار الوظائف (اختياري)
npm test

Docker (المستودع)

root@kitploit:~
####################################################
# تشغيل Docker مع قاعدة البيانات (redis)، موصى به وأسرع #
####################################################
docker run -p 3000:3000 -e BACKEND_URL="http://example.com" -d ruisiang/pow-shield
####################################################

####################################################
#        تشغيل Docker بدون قاعدة بيانات (mock redis)        #
####################################################
docker run -p 3000:3000 -e BACKEND_URL="http://example.com" -e NODE_ENV="standalone" -d ruisiang/pow-shield
####################################################

####################################################
#                  Docker Compose                  #
####################################################
# نسخ ملف docker-compose.example.yaml
cp -n docker-compose.example.yaml docker-compose.yaml
# تعديل ملف docker-compose.yaml
nano docker-compose.yaml

# بدء الحاوية
docker-compose -f docker-compose.yaml up
####################################################

اختبار الإجهاد

ملاحظة: هذا يعمل فقط على الإصدار غير المحتوي (non-containerized) من PoW Shield، وقد يعاني نظامك من عدم الاستقرار أثناء تشغيل الاختبار.

root@kitploit:~
# بدء اختبار الإجهاد
npm run stress

# إذا قمت بتغيير متغير PORT في ملف .env، يجب أيضًا تغيير المتغير target في سكريبت اختبار الإجهاد
nano scripts/stress.sh

الاختبارات التالية أجريت على خيط واحد من معالج i7-10870H CPU مع فترة 60 ثانية لكل معامل متزامن.

GET جماعي

الاتصالات المتزامنةمتوسط زمن الوصولمعدل الخطأالطلبات/الثانية
6415.3ms0.00004188
12830.2ms0.00004229
25660.4ms0.00004235
512122.6ms0.01424166
1024261.7ms0.17663894
20481966.5ms0.49791027
40964685ms0.7179838

فيضان Nonce

الاتصالات المتزامنةمتوسط زمن الوصولمعدل الخطأالطلبات/الثانية
6415.6msN/A4094
12831.5msN/A4058
25661.5msN/A4159
512129.5msN/A3945
1024264.4msN/A3858
2048592.1msN/A3407
40961212.6msN/A3322

من العينة أعلاه، نرى أن تقدير الحمل الأقصى المناسب لـ PoW Shield هو حوالي 512 اتصالًا متزامنًا. تتدهور معدلات الخطأ وأوقات الاستجابة بعد ذلك فوق الحد المقبول. لذلك في بيئة موازنة الأحمال على الجهاز (مثيل واحد من PoW Shield على كل من أنواته الثمانية)، يجب أن يكون قادرًا على التعامل مع حد أقصى يبلغ حوالي 4096 اتصالًا متزامنًا (عملاء) بمعدل طلبات إجمالي يبلغ 32 ألف طلب/الثانية.

المراجع

  • إثبات العمل بواسطة Fedor Indutny (وظائف إثبات العمل المساعدة)
  • Shadowd بواسطة Zesecure (قواعد WAF)

الترخيص

MIT

تنزيل الأداة
14,33,80,96,100
استبعاد القواعد عند فحص ترويسة الطلب، استخدم ',' لفصل أرقام القواعد، استخدم '-' لتحديد نطاق (مثال: 1,2-4,5,7-10)
WAF_BODY_EXCLUDE_RULESWAFاستبعاد القواعد عند فحص جسم الطلب، استخدم ',' لفصل أرقام القواعد، استخدم '-' لتحديد نطاق (مثال: 1,2-4,5,7-10)
SSLSSLoffتشغيل/إيقاف وظيفة SSL
SSL_CERT_PATHSSLtests/ssl/mock-cert.pemالمسار إلى شهادة SSL
SSL_KEY_PATHSSLtests/ssl/mock-key.pemالمسار إلى مفتاح SSL
SOCKETمقبسoffتشغيل/إيقاف وظيفة المقبس
SOCKET_URLمقبسموقع وحدة تحكم PoW Phalanx، يتم قبول كل من IP والروابط (يقبل protocol://url:port أو protocol://ip:port)
SOCKET_TOKENمقبسرمز الاشتراك لوحدة تحكم PoW Phalanx