Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
PyJFuzz — PyJFuzz - Fuzzer de JSON en Python | Kitploit
Herramientas/GitHubGitHub/mseclab/pyjfuzz
Análisis Dinámico (Sandboxing)Análisis de VulnerabilidadesPruebas de Seguridad de APIsSeguridad WebFuzzing
GitHubmseclab/pyjfuzz

PyJFuzz

PyJFuzz - Fuzzer de JSON en Python

Ver Repositorio
3776715hace 3 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

LOGO

PyJFuzz es un framework pequeño, extensible y listo para usar que se utiliza para fuzzear entradas JSON, como API REST de endpoints móviles, implementación JSON, navegadores, ejecutables de línea de comandos y mucho más.

Versión 1.1.0
Página principal http://www.mseclab.com/
GitHub https://github.com/mseclab/PyJFuzz
Autor Daniele Linguaglossa (@dzonerzy)
Licencia MIT - (ver archivo LICENSE)

Instalación

Dependencias

Para funcionar, PyJFuzz necesita algunas dependencias: bottle, netifaces, GitPython y gramfuzz. Puede instalarlas desde la instalación automática de setup.py.

Instalación

Puede instalar PyJFuzz con el siguiente comando

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

Documentación y Ejemplos

Herramienta CLI

Una vez instalado, PyJFuzz creará tanto una librería de Python como una utilidad de línea de comandos llamada pjf (captura de pantalla a continuación)

MENU

PJF

Librería

PyJFuzz también puede funcionar como una librería. Puede importarlo en su proyecto de la siguiente manera

from pyjfuzz.lib import *

Clases

Los objetos/clases disponibles son los siguientes:

  • PJFServer - Se usa para iniciar y detener los servidores HTTP y HTTPS integrados
  • PJFProcessMonitor - Se usa para monitorear fallos de procesos, reiniciará automáticamente el proceso cada vez que falle
  • PJFTestcaseServer - El servidor de casos de prueba se usa junto con PJFProcessMonitor. Cada vez que un proceso falla, el servidor de casos de prueba registrará y almacenará el JSON que causó el fallo.
  • PJFFactory - Es el objeto principal que se usa para realizar el fuzzing real de objetos JSON.
  • PJFConfiguration - Es el archivo de configuración para cada uno de los objetos disponibles.
  • PJFExternalFuzzer - Utilizado por PJFactory, es una clase auxiliar que proporciona una interfaz para otros fuzzers de línea de comandos como radamsa.
  • PJFMutation - Utilizado por PJFFactory, proporciona todas las mutaciones utilizadas durante la sesión de fuzzing.
  • PJFExecutor - Proporciona una interfaz para interactuar con procesos externos.

CLASSES

Ejemplos

A continuación, algunos ejemplos triviales de cómo implementar un programa impulsado por 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 *

# Techniques may be defined by group , or by technique number
# groups are CHTPRSX , to understand what they are , please run pyjfuzz with -h switch or look at the command line screenshot
# This below will initalizate a config object which use only the P group attacks where P stay for Path Traversal
config = PJFConfiguration(Namespace(json={"test": ["1", 2, True]}, nologo=True, level=6, techniques="P"))
# once a config object is defined you can access to config.techniques to view the selected techniques for your group
print("Techniques IDs: {0}".format(str(config.techniques)))
# you can eventually modify them!
config.techniques = [2]
# This way only attack number 2 (LFI Attack) will be performed!
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()

A veces, es posible que necesite modificar configuraciones estándar no personalizables, como el puerto del servidor HTTPS o HTTP. Esto se puede hacer de la siguiente manera

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

Recuerde: Al cambiar los puertos predeterminados, siempre debe manejar las excepciones debido a los privilegios necesarios.

A continuación, una lista completa de todas las configuraciones/personalizaciones disponibles del objeto PJFConfiguration:

Tabla de configuración

Descargar herramienta