Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
django-xss-example — Ce dépôt reproduit une attaque xss sur django 4.0.1 (voir CVE-2022-22818) | Kitploit
Outils/GitHubGitHub/prikalel/django-xss-example
Analyse des VulnérabilitésExploitation d'Applications WebSécurité WebFuzzingApprentissage et Éducation
GitHubprikalel/django-xss-example

django-xss-example

Ce dépôt reproduit une attaque xss sur django 4.0.1 (voir CVE-2022-22818)

Voir le dépôt
32il y a 3 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Test local

Fonctionne uniquement sous Linux. Sous Windows, l'une des dépendances peut provoquer une erreur.

Avant l'exécution, vous devez installer les paquets suivants :

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

Vérifier que les paquets sont installés

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

Préparer le fuzzer

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

Lancer le fuzzer

root@kitploit:~
python runfuzz.py

Erreur

Il faudra patcher un fichier de django, car il peut provoquer une erreur du moteur de template, ce qui arrêtera le processus 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 vous utilisez venv, le chemin peut être le suivant : venv/lib/python3.9/site-packages/django/template/defaultfilters.py

Si vous avez installé les paquets dans le système, le chemin : $HOME/.local/lib/python3.9/site-packages/django/template/defaultfilters.py

Il faut ouvrir le fichier, trouver la définition de la balise random et l'entourer d'un bloc try-catch.

Si ce n'est pas fait, le fuzzer terminera son travail lorsqu'il rencontrera ce bug.

Benchmark

Nombre de tests requis pour trouver un bug

BugFuzzer simpleMode poids fixesRefroidissement 0.5
debug2020
join-escape-filter1000+560/3520(88s)/40/740(28s)/1800(51s)20/900/220/760(530s)
Télécharger l’outil