Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 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
3217il 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 :

pip install -r requirements.txt

Vérifier que les paquets sont installés

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

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

Lancer le fuzzer

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 :

--- /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