Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
django-xss-example — Este repositório reproduz ataque XSS no django 4.0.1 (ver CVE-2022-22818) | Kitploit
Ferramentas/GitHubGitHub/prikalel/django-xss-example
Análise de VulnerabilidadesExploração de Aplicações WebSegurança WebFuzzingAprendizado e Educação
GitHubprikalel/django-xss-example

django-xss-example

Este repositório reproduz ataque XSS no django 4.0.1 (ver CVE-2022-22818)

Ver Repositório
32há 3 anosAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Teste em sua máquina

Funciona apenas no Linux. No Windows, uma das dependências pode causar erro.

Antes de executar, é necessário instalar os seguintes pacotes:

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

Certifique-se de que os pacotes foram instalados

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 o fuzzer

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

Executar o fuzzer

root@kitploit:~
python runfuzz.py

Erro

Será necessário aplicar um patch em um arquivo do Django, pois ele pode causar um erro no mecanismo de templates, o que interromperá o processo 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)

Se você estiver usando um venv, o caminho pode ser: venv/lib/python3.9/site-packages/django/template/defaultfilters.py

Se você instalou os pacotes no sistema, o caminho é: $HOME/.local/lib/python3.9/site-packages/django/template/defaultfilters.py

É preciso abrir o arquivo, encontrar a definição da tag random e envolvê-la em um bloco try-catch.

Se isso não for feito, o fuzzer encerrará sua execução ao detectar este bug.

Benchmark

Número de testes necessários para encontrar um bug

BugFuzzer simplesModo de pesos fixosCooldown 0.5
debug2020
join-escape-filter1000+560/3520(88s)/40/740(28s)/1800(51s)20/900/220/760(530s)
Baixar ferramenta