Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
PyJFuzz — PyJFuzz - Fuzzer JSON Python | Kitploit
Outils/GitHubGitHub/mseclab/pyjfuzz
Analyse Dynamique (Sandboxing)Analyse des VulnérabilitésTests de Sécurité des APISécurité WebFuzzing
GitHubmseclab/pyjfuzz

PyJFuzz

PyJFuzz - Fuzzer JSON Python

Voir le dépôt
3776715il y a 3 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

LOGO

PyJFuzz est un petit framework extensible et prêt à l'emploi utilisé pour fuzzer des entrées JSON, comme les API REST d'endpoints mobiles, les implémentations JSON, les navigateurs, les exécutables en ligne de commande et bien plus encore.

Version 1.1.0
Page d'accueil http://www.mseclab.com/
Github https://github.com/mseclab/PyJFuzz
Auteur Daniele Linguaglossa (@dzonerzy)
Licence MIT - (voir le fichier LICENSE)

Installation

Dépendances

Pour fonctionner, PyJFuzz a besoin de certaines dépendances : bottle, netifaces, GitPython et gramfuzz. Vous pouvez les installer via l'installation automatique de setup.py.

Installation

Vous pouvez installer PyJFuzz avec la commande suivante

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

Documentation et exemples

Outil en ligne de commande

Une fois installé, PyJFuzz crée à la fois une bibliothèque Python et un utilitaire en ligne de commande appelé pjf (capture d'écran ci-dessous)

MENU

PJF

Bibliothèque

PyJFuzz peut également fonctionner comme une bibliothèque, vous pouvez l'importer dans votre projet comme suit

from pyjfuzz.lib import *

Classes

Les objets/classes disponibles sont les suivants :

  • PJFServer - Permet de démarrer et d'arrêter les serveurs HTTP et HTTPS intégrés.
  • PJFProcessMonitor - Utilisé pour surveiller les plantages de processus ; il redémarre automatiquement le processus à chaque plantage.
  • PJFTestcaseServer - Le serveur de cas de test est utilisé conjointement avec PJFProcessMonitor ; lorsqu'un processus plante, le serveur de cas de test enregistre et stocke le JSON à l'origine du plantage.
  • PJFFactory - C'est l'objet principal utilisé pour effectuer le véritable fuzzing des objets JSON.
  • PJFConfiguration - C'est le fichier de configuration pour chacun des objets disponibles.
  • PJFExternalFuzzer - Utilisé par PJFactory, c'est une classe auxiliaire qui fournit une interface vers d'autres fuzzers en ligne de commande tels que radamsa.
  • PJFMutation - Utilisé par PJFFactory, fournit toutes les mutations utilisées lors d'une session de fuzzing.
  • PJFExecutor - Fournit une interface pour interagir avec un processus externe.

CLASSES

Exemples

Voici quelques exemples simples de mise en œuvre d'un programme utilisant 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 *

# Les techniques peuvent être définies par groupe ou par numéro de technique.
# Les groupes sont CHTPRSX. Pour comprendre ce qu'ils sont, veuillez exécuter pyjfuzz avec l'option -h ou regarder la capture d'écran de la ligne de commande.
# Ce qui suit initialise un objet de configuration qui utilise uniquement les attaques du groupe P, où P correspond à Path Traversal.
config = PJFConfiguration(Namespace(json={"test": ["1", 2, True]}, nologo=True, level=6, techniques="P"))
# Une fois un objet config défini, vous pouvez accéder à config.techniques pour voir les techniques sélectionnées pour votre groupe.
print("Techniques IDs: {0}".format(str(config.techniques)))
# Vous pouvez éventuellement les modifier !
config.techniques = [2]
# De cette façon, seule l'attaque numéro 2 (LFI Attack) sera effectuée !
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()

Parfois, vous pouvez avoir besoin de modifier des paramètres standard non personnalisables, comme le port du serveur HTTPS ou HTTP. Cela peut être fait de la manière suivante

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  # Change HTTPS port to 443

Rappel : Lorsque vous modifiez les ports par défaut, vous devez toujours gérer les exceptions en raison des privilèges nécessaires !

Voici une liste complète de tous les paramètres/personnalisations disponibles de l'objet PJFConfiguration :

Tableau de configuration

Télécharger l’outil