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

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

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

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

دليل الأدوات

الفئات

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

PyJFuzz

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

عرض المستودع
37767منذ 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 بالأمر التالي

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

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

أداة CLI

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

MENU

PJF

المكتبة

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

root@kitploit:~
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

root@kitploit:~
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

root@kitploit:~
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

root@kitploit:~
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، يمكن القيام بذلك بالطريقة التالية

root@kitploit:~
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:

جدول التكوين

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

لقطات الشاشة

فيما يلي بعض لقطات الشاشة فقط لتوضيح ما يمكن توقعه من PyJFuzz

CLI

CLI2

CLI3

أداة مدمجة

يأتي PyJFuzz مزودًا بأداة مدمجة تُسمى PyJFuzz Web Fuzzer، توفر هذه الأداة وحدة تحكم تشويش تلقائية عبر خادم HTTP و HTTPS، ويمكن استخدامها لتشويش أي متصفح ويب تقريبًا بسهولة حتى عندما لا تستطيع التحكم في حالة العملية!

يوجد مفتاحان لاستخدام هذه الأداة (--browser-auto و --fuzz-web)، الأول يقوم بإعادة تشغيل المتصفح تلقائيًا عند حدوث تعطل، والآخر يحاول اكتشاف متى يتوقف المتصفح عن إرسال الطلبات. كلاهما يحفظ دائمًا حالات الاختبار، فيما يلي بعض لقطات الشاشة.

FUZZ

FUZZ2

BROWSERAUTO

BROWSERAUTO2 المشكلات

يرجى إرسال أي مشكلة هنا عبر GitHub وسأقوم بتوفير إصلاح في أسرع وقت ممكن.

النتائج

فيما يلي قائمة بالمشكلات المعروفة التي وجدها PyJFuzz، سيتم تحديث القائمة أسبوعيًا

  • تحرير مزدوج في cJSON (https://github.com/DaveGamble/cJSON/issues/105)
  • استثناء غير معالج في picojson (https://github.com/kazuho/picojson/issues/94)
  • تسرب ذاكرة في simpleJSON (https://github.com/nbsdx/SimpleJSON/issues/8)
  • تجاوز سعة المخزن المؤقت على المكدس في frozen (https://github.com/cesanta/frozen/issues/14)
  • تلف الذاكرة مع EIP مخصص (https://github.com/cesanta/frozen/issues/15)

النهاية

شكرًا لاستخدام PyJFuzz!

تشويش سعيد من mseclab

تنزيل الأداة
الاسمالنوعالوصف
jsondictكائن JSON المراد تشويشه
json_filestrالمسار إلى ملف JSON
parameterslist<str>قائمة المعلمات المراد تشويشها (مأخوذة من كائن JSON)
techniquesstr<int>سلسلة من الهجمات الممكّنة، تُستخدم لإنشاء JSON مشوش، مثل XSS, LFI إلخ. على سبيل المثال "CHPTRSX" (انظر جدول التقنيات)
levelintمستوى التشويش في النطاق 0-6
utf8boolإذا كان صحيحًا، قم بالتبديل من تشفير unicode إلى تمثيل بايت نقي
indentboolتحديد ما إذا كان سيتم إضافة مسافة بادئة لكائن النتيجة
url_encodeboolتحديد ما إذا كان سيتم ترميز URL للكائن الناتج
strong_fuzzboolتحديد ما إذا كان سيتم استخدام التشويش القوي (لن يحافظ التشويش القوي على بنية JSON، مفيد لتشويش المحلل اللغوي)
debugboolتحديد ما إذا كان سيتم تمكين طباعة التصحيح
excludeboolاستبعاد المعلمات المحددة بواسطة خيار المعلمات من التشويش
notifyboolتحديد ما إذا كان سيتم إخطار مراقب العملية عند حدوث تعطل، يُستخدم فقط مع PJFServer
htmlstrالمسار إلى دليل HTML لخدمته داخل PJFServer
ext_fuzzboolتحديد ما إذا كان سيتم استخدام ثنائي من "command" كمشوش خارجي
cmd_fuzzboolتحديد ما إذا كان سيتم استخدام ثنائي من "command" كهدف للمشوش
content_typestrتعيين نوع المحتوى الناتج لـ PJFServer (الافتراضي application/json)
commandlist<str>الأمر المراد تنفيذه، كل معلمة هي عنصر في القائمة، يمكنك استخدام shlex.split من بايثون
الفهرسالوصف
0حقن XSS (متعدد اللغات)
1حقن SQL (متعدد اللغات)
2هجوم LFI
3حقن SQL متعدد اللغات (2)
4حقن XSS متعدد اللغات (2)
5حقن RCE (متعدد اللغات)
6هجوم LFI (2)
7هجوم Data URI
8هجوم LFI و HREF
9حقن الترويسة (Header injection)
10حقن RCE متعدد اللغات (2)
11حقن قوالب عام (Generic template injection)
12حقن قوالب Flask
13هجوم الأحرف العشوائية