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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/redsection/pfuzz
تجاوز WAFأمن الويبالاختبار العشوائياختبار الاختراقالفريق الأحمر
GitHubredsection/pfuzz

pFuzz

مُفجّر اختراق WAF معياري مع تعدد الخيوط، والتلاعب بالطلبات، وتشفير الحمولة، لاختبار تطبيقات الويب للفريق الأحمر.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

ما هو pFuzz / pFuzz Nedir ❓

pFuzz هي أداة متقدمة للتجربة العشوائية (fuzzing) في الفريق الأحمر، قمنا بتطويرها لأبحاثنا. تساعدنا في تجاوز جدار الحماية لتطبيقات الويب باستخدام طرق مختلفة في نفس الوقت.

pFuzz هي أداة متقدمة للتجربة العشوائية طورناها لأبحاث تطبيقات الويب. تم تطويرها لتسريع عملية اختبار طرق هجوم مختلفة على تطبيقات الأمن المختلفة.

الوصف [EN]

pFuzz هي أداة مطورة بلغة بايثون للحصول على قدرة متقدمة في التجربة العشوائية في أبحاث تطبيقات الويب. نظرًا لأن التطبيق ذو هيكل معياري، فإنه يمتلك القدرة على إضافة طرق تجاوز WAF المكتشفة حديثًا / التي سيتم اكتشافها بسرعة إلى pFuzz واختبارها على جميع WAFs الأخرى. بالإضافة إلى الهيكل المعياري، تم استخدام هياكل متعددة الخيوط، متعددة المعالجة، وقوائم الانتظار لجعل الأداة أكثر مرونة، وتم إنشاء البنية التحتية للتطورات المستقبلية.

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


ملاحظة: إذا كنت ترغب في المساهمة في التطوير، يمكنك القيام بذلك ليس فقط عن طريق تطوير pFuzz ولكن أيضًا عن طريق إضافة وحدات جديدة. لا تتردد في فتح PR جديد :)


Açıklama [TR]

pFuzz هي أداة مطورة بلغة بايثون للحصول على قدرة متقدمة في التجربة العشوائية في أبحاث تطبيقات الويب. نظرًا لأن التطبيق ذو هيكل معياري، فإنه يمتلك القدرة على إضافة طرق تجاوز WAF المكتشفة حديثًا / التي سيتم اكتشافها بسرعة إلى pFuzz واختبارها على جميع WAFs الأخرى. بالإضافة إلى الهيكل المعياري، تم استخدام هياكل مثل تعدد الخيوط، تعدد المعالجة، وقوائم الانتظار لجعل الأداة أكثر مرونة، وتم إنشاء البنية التحتية للتطورات المستقبلية.

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


ملاحظة: إذا كنت ترغب في المساهمة في التطوير، يمكنك القيام بذلك ليس فقط كتطوير أساسي 'core'، ولكن أيضًا عن طريق إضافة وحدة جديدة. نحن في انتظار PR الجديدة :)


root@kitploit:~
        _____                 
 _ __  |  ___|_   _  ____ ____
| '_ \ | |_  | | | ||_  /|_  /
| |_) ||  _| | |_| | / /  / / 
| .__/ |_|    \__,_|/___|/___|
|_|                           

المطورون 💁

سير العمل 📋

pFuzz

التثبيت والاستخدام 📚

root@kitploit:~
sudo pip3 install virtualenv
python3 -m venv myvenv
source myvenv/bin/activate
pip3 install -r requirements.txt
python3 pfuzz.py --help

التبعيات:

root@kitploit:~
cffi==1.14.3
cryptography==3.1.1
numpy==1.19.2
pandas==1.1.3
pycparser==2.20
pyOpenSSL==19.1.0
python-dateutil==2.8.1
pytz==2020.1
six==1.15.0
xlrd==1.2.0

الاستخدام

  • المساعدة
root@kitploit:~
python3 pfuzz.py --help
  • وحدة معالجة الرؤوس (Headers)
root@kitploit:~
python3 pfuzz.py -r request.txt -m
  • وحدة التجربة العشوائية للحروف
root@kitploit:~
python3 pfuzz.py -r request.txt -cf
  • وحدة التجربة العشوائية
root@kitploit:~
python3 pfuzz.py -r request.txt -f
  • إضافة وكيل (proxy)
root@kitploit:~
python3 pfuzz.py -r request.txt -f --proxy 127.0.0.1:8080
  • إضافة تأخير بين الطلبات
root@kitploit:~
python3 pfuzz.py -r request.txt -f -d 3
  • تفعيل اتصال TLS/SSL
root@kitploit:~
python3 pfuzz.py -r request.txt -f -s
  • تفعيل التسجيل (logging)
root@kitploit:~
python3 pfuzz.py -r request.txt -f -l
  • تفعيل وظيفة ترميز الحمولة / الترميز الكامل
root@kitploit:~
python3 pfuzz.py -r request.txt -f -e
root@kitploit:~
python3 pfuzz.py -r request.txt -f -fe
  • تعيين عدد الخيوط
root@kitploit:~
python3 pfuzz.py -r request.txt -f -t 5
  • الإخراج إلى الطرفية
root@kitploit:~
python3 pfuzz.py -r request.txt -f -o terminal
root@kitploit:~
python3 pfuzz.py -r request.txt -f -od terminal
  • الإخراج إلى ملف
root@kitploit:~
python3 pfuzz.py -r request.txt -f -o ~/Desktop/
root@kitploit:~
python3 pfuzz.py -r request.txt -f -od ~/tmp/

المساعدة 💻

root@kitploit:~
              _____                 
       _ __  |  ___|_   _  ____ ____
      | '_ \ | |_  | | | ||_  /|_  /
      | |_) ||  _| | |_| | / /  / / 
      | .__/ |_|    \__,_|/___|/___|
      |_|
   ------------------------------------
   @EmreOvunc | @merttasci | @xsuperbug
   ------------------------------------
                 v0.2.4
   ------------------------------------

usage: pfuzz.py [-h] [--request REQUEST] [--proxy PROXY] [--log] [--ssl]
                 [--threads THREADS] [--output OUTPUT] [--delay TIME] 
                 [--output-details OUTPUT] [--full-encode] [--encode]
                 [--fuzz] [--charfuzz] [--manipulate] [--version]

optional arguments:
  --help/-h             show this help message and exit
  --proxy/-p    PROXY   proxy [IP:PORT]
  --log/-l              enable logging
  --ssl/-s              enable ssl
  --threads/-t  NUMBER  thread(s) number [default=1]
  --version/-v          show program's version number and exit
  
[Request Options]:  
  --request/-r  REQUEST request file
  --delay/-d    TIME    set a delay between requests [default=0.05]
  --encode/-e           encode space chars in uri/body
  --full-encode/-fe     encode all chars in uri/body
  
[Output Options]:
  --output/-o   OUTPUT  output important info [terminal/folder name]
  --output-details/-od OUTPUT
                        output all details [terminal/folder name]
                        
[Modules]:
  --fuzz/-f             run fuzzing module
  --charfuzz/-cf        run char fuzzing module
  --manipulate/-m       run manipulating headers module

Usage: python3 pfuzz.py -r req.txt --log -s --fuzz -d 1 --encode -o terminal --threads 2
Usage: python3 pfuzz.py -r req.txt -f -l --proxy 127.0.0.1:8080 --output-details ~/output

إضافات 📢

كيفية تطوير وحدة جديدة

  • يجب إنشاء ملف بايثون يحدد اسم الوحدة داخل مجلد modules/.
root@kitploit:~
- modules
        - charfuzzer.py
        - exparse.py
        - fuzzer.py
        - headeroperations.py
        - manupilatingheaders.py
  • يمكنك استخدام الكائن الذي تم تحليله مثل myreq = HTTPReq.getobj()
root@kitploit:~
from reqparser import HTTPReq
myreq  = HTTPReq.getobj()
  • يحتوي على العديد من السمات المشتقة من فئة HTTPReq. يمكنك الاطلاع عليها في ملف reqparser.py.
root@kitploit:~
...
myreq.uri
myreq.body
myreq.http
myreq.referer
myreq.origin
myreq.host
myreq.cookie
...
  • إذا كنت ترغب في الحصول على الحمولات من ملف Excel، يمكنك استخدام طرق getpayloads من modules.exparse.

    • getpayloads(fuzzsheetName, genericcolmnName, fuzzingpayloads)
    root@kitploit:~
    from modules.exparse import getpayloads
    getpayloads(fuzzsheetName, genericcolmnName, fuzzingpayloads)
    
    • قمنا بتعيين الكائنات الثابتة مثل fuzzsheetName في statics.py الموجود داخل مجلد static/.
    root@kitploit:~
    # Fuzzing Module in static/statics.py
    fuzzsheetName   = 'Fuzzing'
    genericcolmnName = 'Payload'
    fuzzingpayloads = []
    
  • الآن، يمكنك تغيير/إضافة/حذف السمات كما تريد.

root@kitploit:~
myreq.uri = tmpuri + payload
myreq.addheader(header, "127.0.0.1")
myreq.content_type = "text/html"
  • لإيقاف تعدد الخيوط، يجب إضافة حمولة #exitme# إلى نهاية حمولاتك وتعيين statics.exitCall = True للتحقق مما إذا كانت قائمة الانتظار فارغة أم لا.
root@kitploit:~
from modules.exparse import getpayloads
for payload in fuzzingpayloads:
if payload == '#exitme#':
    statics.exitCall = True
else:
    [OPERATIONS]
  • عندما يكون كائنك (الطلب) جاهزًا للإرسال، يمكنك استخدام دالة sendit() لوضعه في قائمة الانتظار.
root@kitploit:~
from reqsender import sendit
sendit(myreq)
  • إذا كنت بحاجة إلى تغيير الوظائف الأساسية في pFuzz، يمكنك فتح طلب سحب (pull request) أو فتح مشكلة (issue).

بعض الوظائف الهامة لتطوير وحدات جديدة


ما هي WAFs التي تم تجاوزها؟

  • FortiWeb
  • Cloudflare
  • Sucuri
  • Akamai
  • Imperva
  • F5 WAF
تنزيل الأداة

Emre Övünç


Mert Taşçı


Evren Yalçın

الهدفالوحدة/الفئةالوظيفةالمعامل (المعاملات)
لإرسال طلبreqsender.py sendit()كائن
لاستخدام كائن طلبreqparser.py/HTTPReq getobj()  -
لإضافة رأس مخصصreqparser.py/HTTPReq OBJECT.addheader() اسم الرأس الجديد، القيمة
لحذف رأسreqparser.py/HTTPReq OBJECT.delheader() اسم الرأس
لتغيير رأسreqparser.py/HTTPReq OBJECT.changeheader()اسم الرأس، اسم الرأس الجديد
للحصول على حمولة من الملفexparse.py getpayloads() اسم الورقة، اسم العمود
لكتابة سجل معلومات/تصحيح/تحذيرwaflogger.py loginfo/logdebug/logwarn() رسالة السجل