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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
PyJFuzz — PyJFuzz - أداة تشويش JSON بلغة بايثون | Kitploit
أدوات/GitHubGitHub/mseclab/pyjfuzz
التحليل الديناميكي (عزل)تحليل الثغرات الأمنيةاختبار أمان APIأمن الويبالاختبار العشوائي
GitHubmseclab/pyjfuzz

PyJFuzz

PyJFuzz - أداة تشويش JSON بلغة بايثون

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

الأكثر شعبية

عرض الكل →

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

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

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

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

LOGO

PyJFuzz هو إطار عمل صغير وقابل للتوسيع وجاهز للاستخدام يُستخدم لـ اختبار إدخالات JSON، مثل REST API لنقاط النهاية المحمولة، وتطبيقات JSON، والمتصفحات، والملفات القابلة للتنفيذ عبر CLI، وغير ذلك الكثير.

الإصدار 1.1.0
الصفحة الرئيسية http://www.mseclab.com/
جيتهاب https://github.com/mseclab/PyJFuzz
المؤلف Daniele Linguaglossa (@dzonerzy)
الترخيص MIT - (انظر ملف LICENSE)

التثبيت

التبعيات

لكي يعمل PyJFuzz، يحتاج إلى بعض التبعيات: bottle, netifaces, GitPython و gramfuzz، يمكنك تثبيتها من خلال التثبيت التلقائي setup.py.

التثبيت

يمكنك تثبيت PyJFuzz بالأمر التالي

git clone https://github.com/mseclab/PyJFuzz.git && cd PyJFuzz && sudo python setup.py install

التوثيق والأمثلة

أداة CLI

بمجرد التثبيت، سينشئ PyJFuzz مكتبة بايثون وأداة سطر أوامر تُسمى pjf (لقطة شاشة أدناه)

MENU

PJF

المكتبة

يمكن أن يعمل PyJFuzz أيضًا كمكتبة، يمكنك استيرادها في مشروعك كما يلي

from pyjfuzz.lib import *

الفئات

الكائنات/الفئات المتاحة هي كما يلي:

  • PJFServer - تُستخدم لبدء وإيقاف خوادم HTTP و HTTPS المدمجة
  • PJFProcessMonitor - تُستخدم لمراقبة تعطل العملية، وستعيد تشغيل العملية تلقائيًا في كل مرة تتعطل فيها
  • PJFTestcaseServer - يُستخدم خادم حالة الاختبار مع PJFProcessMonitor، وعندما تتعطل عملية، يسجل خادم حالة الاختبار ويخزن JSON الذي تسبب في التعطل
  • PJFFactory - هو الكائن الرئيسي المستخدم لتنفيذ التشويش الفعلي على كائنات JSON
  • PJFConfiguration - هو ملف التكوين لكل كائن من الكائنات المتاحة
  • PJFExternalFuzzer - تُستخدم بواسطة PJFFactory وهي فئة مساعدة توفر واجهة لأدوات تشويش سطر الأوامر الأخرى مثل radamsa
  • PJFMutation - تُستخدم بواسطة PJFFactory لتوفير جميع الطفرات المستخدمة أثناء جلسة التشويش
  • PJFExecutor - توفر واجهة للتفاعل مع العمليات الخارجية

CLASSES

أمثلة

فيما يلي بعض الأمثلة البسيطة حول كيفية تنفيذ برنامج يعمل بـ PyJFuzz

simple_fuzzer.py

from argparse import Namespace
from pyjfuzz.lib import *

config = PJFConfiguration(Namespace(json={"test": ["1", 2, True]}, nologo=True, level=6))
fuzzer = PJFFactory(config)
while True:
    print fuzzer.fuzzed

custom_techniques.py

from argparse import Namespace
from pyjfuzz.lib import *

# يمكن تعريف التقنيات حسب المجموعة، أو حسب رقم التقنية
# المجموعات هي CHTPRSX، لفهم ما هي، يرجى تشغيل pyjfuzz مع المفتاح -h أو الاطلاع على لقطة شاشة سطر الأوامر
# هذا أدناه سيهيئ كائن config يستخدم فقط هجمات المجموعة P حيث P تعني Path Traversal
config = PJFConfiguration(Namespace(json={"test": ["1", 2, True]}, nologo=True, level=6, techniques="P"))
# بمجرد تعريف كائن config، يمكنك الوصول إلى config.techniques لعرض التقنيات المحددة لمجموعتك
print("معرفات التقنيات: {0}".format(str(config.techniques)))
# يمكنك تعديلها في النهاية!
config.techniques = [2]
# بهذه الطريقة، سيتم تنفيذ الهجوم رقم 2 فقط (هجوم LFI)!
fuzzer = PJFFactory(config)
while True:
    print fuzzer.fuzzed

simple_server.py

from argparse import Namespace
from pyjfuzz.lib import *

config = PJFConfiguration(Namespace(json={"test": ["1", 2, True]}, nologo=True, level=6, debug=True, indent=True))
PJFServer(config).run()

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

from argparse import Namespace
from pyjfuzz.lib import *

config = PJFConfiguration(Namespace(json={"test": ["1", 2, True]}, nologo=True, level=6, indent=True))
print config.ports["servers"]["HTTP_PORT"]   # 8080
print config.ports["servers"]["HTTPS_PORT"]  # 8443
print config.ports["servers"]["TCASE_PORT"]  # 8888
config.ports["servers"]["HTTPS_PORT"] = 443  # تغيير منفذ HTTPS إلى 443

تذكر: عند تغيير المنافذ الافتراضية، يجب عليك دائمًا معالجة الاستثناءات بسبب الصلاحيات المطلوبة!

فيما يلي قائمة شاملة بجميع الإعدادات/التخصيصات المتاحة لكائن PJFConfiguration:

جدول التكوين

الاسم النوع الوصف
json dict كائن JSON المراد تشويشه
json_file str المسار إلى ملف JSON
parameters list<str> قائمة المعلمات المراد تشويشها (مأخوذة من كائن JSON)
techniques str<int> سلسلة من الهجمات الممكّنة، تُستخدم لإنشاء JSON مشوش، مثل XSS, LFI إلخ. على سبيل المثال "CHPTRSX" (انظر جدول التقنيات)
level int مستوى التشويش في النطاق 0-6
utf8 bool إذا كان صحيحًا، قم بالتبديل من تشفير unicode إلى تمثيل بايت نقي
indent bool تحديد ما إذا كان سيتم إضافة مسافة بادئة لكائن النتيجة
url_encode bool تحديد ما إذا كان سيتم ترميز URL للكائن الناتج
strong_fuzz bool تحديد ما إذا كان سيتم استخدام التشويش القوي (لن يحافظ التشويش القوي على بنية JSON، مفيد لتشويش المحلل اللغوي)
debug bool تحديد ما إذا كان سيتم تمكين طباعة التصحيح
exclude bool استبعاد المعلمات المحددة بواسطة خيار المعلمات من التشويش
notify bool تحديد ما إذا كان سيتم إخطار مراقب العملية عند حدوث تعطل، يُستخدم فقط مع PJFServer
html str المسار إلى دليل HTML لخدمته داخل PJFServer
ext_fuzz bool تحديد ما إذا كان سيتم استخدام ثنائي من "command" كمشوش خارجي
cmd_fuzz bool تحديد ما إذا كان سيتم استخدام ثنائي من "command" كهدف للمشوش
content_type str تعيين نوع المحتوى الناتج لـ PJFServer (الافتراضي application/json)
command list<str> الأمر المراد تنفيذه، كل معلمة هي عنصر في القائمة، يمكنك استخدام shlex.split من بايثون

جدول التقنيات

تنزيل الأداة