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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/prikalel/django-xss-example
Análisis de VulnerabilidadesExplotación de Aplicaciones WebSeguridad WebFuzzingAprendizaje y Educación
GitHubprikalel/django-xss-example

django-xss-example

Este repositorio reproduce un ataque XSS en django 4.0.1 (ver CVE-2022-22818)

Ver Repositorio
328hace 3 añosAún no revisado

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

Prueba local

Solo funciona en Linux. En Windows, una de las dependencias puede causar un error.

Antes de ejecutar, es necesario instalar los siguientes paquetes:

pip install -r requirements.txt

Asegúrate de que los paquetes se hayan instalado

python -m django --version  # pip install django==4.0.1
grammarinator-generate --version  # pip install git+https://github.com/renatahodovan/grammarinator.git#egg=grammarinator

Preparar el fuzzer

touch grammars/fuzzer/HTMLGenerator.py  # Создаём пустой файл, который будет наполнен генератом
grammarinator-process grammars/HTMLLexer.g4 grammars/HTMLParser.g4 -o grammars/fuzzer  # Заполнение файла

Ejecutar el fuzzer

python runfuzz.py

Error

Será necesario parchear un archivo de Django, ya que puede provocar un error del motor de plantillas, lo que detendrá el proceso de fuzzing:

--- /home/alex/.local/lib/python3.9/site-packages/django/template/defaultfilters.py     2023-04-26 12:47:44.387239988 +0300
+++ /home/alex/.local/lib/python3.9/site-packages/django/template/defaultfilters-fixed.py       2023-04-26 12:47:33.931039539 +0300
@@ -613,7 +613,10 @@
 @register.filter(is_safe=True)
 def random(value):
     """Return a random item from the list."""
-    return random_module.choice(value)
+    try:
+        return random_module.choice(value)
+    except IndexError:
+        return ''
 
 
 @register.filter("slice", is_safe=True)

Si usas venv, la ruta puede ser: venv/lib/python3.9/site-packages/django/template/defaultfilters.py

Si instalaste los paquetes en el sistema, la ruta: $HOME/.local/lib/python3.9/site-packages/django/template/defaultfilters.py

Hay que entrar en el archivo, encontrar la definición de la etiqueta random y rodearla con un bloque try-catch.

Si no se hace esto, el fuzzer finalizará su trabajo al detectar este bug.

Benchmark

Cantidad de pruebas requeridas para encontrar un bug

BugFuzzer simpleModo de pesos fijosCooldown 0.5
debug2020
join-escape-filter1000+560/3520(88s)/40/740(28s)/1800(51s)20/900/220/760(530s)
Descargar herramienta