Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
django-xss-example — Этот репозиторий воспроизводит XSS-атаку на Django 4.0.1 (см. CVE-2022-22818) | Kitploit
Инструменты/GitHubGitHub/prikalel/django-xss-example
Анализ уязвимостейЭксплуатация веб-приложенийВеб-безопасностьФаззингОбучение и Образование
GitHubprikalel/django-xss-example

django-xss-example

Этот репозиторий воспроизводит XSS-атаку на Django 4.0.1 (см. CVE-2022-22818)

Репозиторий
3213 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Проверка у себя

Работает только на linux. На windows одна из зависимостей может вызвать ошибку.

Перед запуском необходимо установить следующие пакеты:

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

Следует убедиться, что установились пакеты

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

Подготовить фаззер

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

Запуск фаззера

root@kitploit:~
python runfuzz.py

Ошибка

Нужно будет пропатчить один файл из django, поскольку он может вызвать ошибку шаблонизатора, что остановит процесс фаззинга:

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)

Если используете venv, то путь может быть таким: venv/lib/python3.9/site-packages/django/template/defaultfilters.py

Если устанавливали пакеты в систему, то путь: $HOME/.local/lib/python3.9/site-packages/django/template/defaultfilters.py

Надо зайти во внутрь файла и найти определение тэга random и окружить его в try-catch блок.

Если это не сделать, фаззер завершит свою работу при обнаружении этого бага.

Benchmark

Required tests count to find a bug

BugPlain fuzzerFixed weights modeCooldown 0.5
debug2020
join-escape-filter1000+560/3520(88s)/40/740(28s)/1800(51s)20/900/220/760(530s)
Скачать инструмент