Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
django-xss-example — Questa repository riproduce un attacco XSS su django 4.0.1 (vedi CVE-2022-22818) | Kitploit
Strumenti/GitHubGitHub/prikalel/django-xss-example
Analisi delle VulnerabilitàSfruttamento di Applicazioni WebSicurezza WebFuzzingApprendimento e Formazione
GitHubprikalel/django-xss-example

django-xss-example

Questa repository riproduce un attacco XSS su django 4.0.1 (vedi CVE-2022-22818)

Vedi Repository
323 anni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Verifica locale

Funziona solo su linux. Su windows una delle dipendenze potrebbe causare un errore.

Prima di eseguire è necessario installare i seguenti pacchetti:

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

Verificare che i pacchetti siano installati

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

Preparare il fuzzer

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

Avvio del fuzzer

root@kitploit:~
python runfuzz.py

Errore

Sarà necessario applicare una patch a un file di django, poiché può causare un errore del template engine che interromperà il processo di 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 si utilizza venv, il percorso può essere il seguente: venv/lib/python3.9/site-packages/django/template/defaultfilters.py

Se i pacchetti sono stati installati a livello di sistema, il percorso è: $HOME/.local/lib/python3.9/site-packages/django/template/defaultfilters.py

Bisogna aprire il file, trovare la definizione del tag random e racchiuderla in un blocco try-catch.

Se non lo si fa, il fuzzer terminerà il suo lavoro quando rileva questo bug.

Benchmark

Numero di test necessari per trovare un bug

BugPlain fuzzerFixed weights modeCooldown 0.5
debug2020
join-escape-filter1000+560/3520(88s)/40/740(28s)/1800(51s)20/900/220/760(530s)
Scarica lo strumento