Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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
django-xss-example — Este repositorio reproduce un ataque XSS en django 4.0.1 (ver CVE-2022-22818) | Kitploit
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
32hace 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:

root@kitploit:~
pip install -r requirements.txt

Asegúrate de que los paquetes se hayan instalado

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

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

Ejecutar el fuzzer

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

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