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

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

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

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

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

Категории

Все категории
Loading categories
poc-CVE-2019-9053 — Учебный PoC на Python 3 для CVE-2019-9053, time-based blind SQL-инъекции в CMS Made Simple <= 2.2.9. Эта версия адаптирована для использования в CTF/лаборатории: предварительно настроенные префиксы сокращают время извлечения данных, а пояснительные сообщения приведены на португальском языке. | Kitploit
Инструменты/GitHubGitHub/rideckszz/poc-cve-2019-9053
Взлом паролейАнализ уязвимостейЭксплуатация веб-приложенийCTFОбучение и ОбразованиеЛаборатории и Практика
GitHubrideckszz/poc-cve-2019-9053

poc-CVE-2019-9053

Репозиторий

Популярное

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

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

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

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

Смотреть все инструменты →

Описание

Учебный PoC на Python 3 для CVE-2019-9053, time-based blind SQL-инъекции в CMS Made Simple <= 2.2.9. Эта версия адаптирована для использования в CTF/лаборатории: предварительно настроенные префиксы сокращают время извлечения данных, а пояснительные сообщения приведены на португальском языке.

Поделиться
1163 месяцев назадЕщё не проверено

PoC CVE-2019-9053 - SQL-инъекция в CMS Made Simple

Учебный PoC на Python 3 для CVE-2019-9053, уязвимости time-based blind SQL Injection в CMS Made Simple <= 2.2.9.

Эта версия была изменена для использования в CTF/лабораторных условиях. Она содержит предварительно настроенные префиксы для сокращения времени извлечения и поясняющие сообщения на португальском языке, чтобы помочь студентам понять работу эксплойта.

Aviso

Этот проект предназначен исключительно для образовательных целей, контролируемых лабораторий и CTF-сред.

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

Автор этого репозитория не несёт ответственности за неправомерное использование этого материала.

Vulnerabilidade

CVE-2019-9053 затрагивает старые версии CMS Made Simple, позволяя выполнять неаутентифицированную SQL-инъекцию через параметр m1_idlist в конечной точке:

/moduleinterface.php?mact=News,m1_,default,0

Поскольку ответ SQL-запроса не отображается напрямую на странице, эксплойт использует метод time-based blind SQL Injection.

Как работает эксплойт

Эксплойт отправляет payloads, которые заставляют базу данных выполнить sleep(1), когда условие истинно.

Концептуальный пример:

AND (
  SELECT sleep(1)
  FROM cms_users
  WHERE password LIKE '0c01%'
)

Если сервер отвечает с задержкой, скрипт понимает, что проверяемый префикс верен.

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

  • Соль пароля
  • Имя пользователя
  • Email
  • Хеш пароля

В этой CTF-версии в код уже включены некоторые префиксы, чтобы сократить время, необходимое для выполнения задания.

Что такое time-based blind SQL Injection?

SQL-инъекция возникает, когда приложение вставляет управляемые пользователем данные в SQL-запрос без надлежащей обработки.

В данном случае инъекция является blind, потому что результат запроса не отображается напрямую в HTTP-ответе.

Она является time-based, потому что атакующий использует время ответа сервера в качестве канала для получения ответа. Если проверяемое условие истинно, база данных выполняет задержку с помощью sleep(). Если ложно — ответ приходит без задержки.

Упрощённый пример:

Pergunta feita pelo exploit:
"O hash da senha começa com 0c01?"

Se sim:
O banco executa sleep(1), e a resposta demora.

Se não:
A resposta vem sem atraso perceptível.

Повторяя этот процесс посимвольно, эксплойт может восстановить значения из базы данных, даже не видя их напрямую на странице.

Что такое соль (salt)?

Соль (salt) — это дополнительное значение, используемое вместе с паролем перед созданием хеша.

В этом задании CMS Made Simple использует логику, аналогичную:

md5(salt + password)

Например:

salt = 1dac0d92e9fa6bb2
password = exemplo123

Хеш вычислялся бы на основе:

1dac0d92e9fa6bb2exemplo123

Соль служит для затруднения атак с предвычисленными таблицами и для того, чтобы одинаковые пароли могли давать разные хеши в разных контекстах.

Тем не менее md5(salt + password) — это старый и слабый способ хранения паролей. Современные системы должны использовать специализированные алгоритмы для паролей, такие как:

  • Argon2
  • bcrypt
  • scrypt
  • PBKDF2

Изменения этой CTF-версии

Эта версия адаптирована для удобства использования в практическом задании.

Основные изменения:

  • Код обновлён до Python 3.
  • Пояснительный баннер на португальском языке.
  • Краткое объяснение работы эксплойта в терминале.
  • Известные префиксы для ускорения извлечения данных.
  • Оптимизированный charset для соли и хеша в шестнадцатеричном формате.
  • Ограничение размера для соли и хеша.
  • Опция подбора пароля с помощью словаря (wordlist).

Значения, используемые в задании:

Salt completo: 1dac0d92e9fa6bb2
Username: mitch
Email: [email protected]
Hash completo: 0c01f4468bd75d7a84c7eb73846e8d96

Префиксы, настроенные в эксплойте:

Salt prefix: 1dac0d92
Username prefix: mit
Email prefix: admin@
Hash prefix: 0c01f446

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

Структура репозитория

poc-CVE-2019-9053/
├── exploit_ctf.py
├── requirements.txt
├── README.md
├── wordlist-example.txt
└── .gitignore

Требования

  • Python 3
  • requests
  • termcolor

Установка

Клонируйте репозиторий:

git clone https://github.com/SEU_USUARIO/poc-CVE-2019-9053.git
cd poc-CVE-2019-9053

Создайте виртуальное окружение:

python3 -m venv .venv

Активируйте виртуальное окружение:

source .venv/bin/activate

Установите зависимости:

pip install -r requirements.txt

requirements.txt

Файл requirements.txt должен содержать:

requests
termcolor

Использование

Простой запуск:

python3 exploit_ctf.py -u http://target/cms

Запуск с попыткой подбора пароля с помощью словаря (wordlist):

python3 exploit_ctf.py -u http://target/cms --crack -w wordlist-example.txt

Просмотр справки скрипта:

python3 exploit_ctf.py -h

Пример словаря (wordlist)

Файл wordlist-example.txt может содержать:

wrongpassword
admin123
dieema123
password
123456

Пример ожидаемого вывода

[+] Salt da senha encontrado: 1dac0d92e9fa6bb2
[+] Username encontrado: mitch
[+] Email encontrado: [email protected]
[+] Hash da senha encontrado: 0c01f4468bd75d7a84c7eb73846e8d96
[+] Senha encontrada: dieema123

Объяснение подбора пароля (cracking)

После того как эксплойт извлекает соль и хеш пароля, он может попытаться найти пароль в открытом виде с помощью словаря (wordlist).

Проверяемая логика:

md5(salt + senha_candidata)

Для каждого пароля из словаря скрипт вычисляет хеш и сравнивает его с хешем, извлечённым из базы данных.

Концептуальный пример:

candidate_hash = md5("1dac0d92e9fa6bb2" + "dieema123")

Если результат совпадает с извлечённым хешем, пароль найден.

Примечания о времени выполнения

Time-based SQL-инъекция обычно медленная, потому что каждый символ приходится проверять множеством запросов.

Эта версия сокращает время благодаря:

  • Известным префиксам.
  • Шестнадцатеричному charset для соли и хеша.
  • Известному максимальному размеру соли и хеша.
  • Задержке в 1 секунду за каждый верный символ.

Тем не менее время может варьироваться в зависимости от:

  • Сетевой задержки (латентности).
  • Нагрузки на сервер.
  • Производительности базы данных.
  • Значения, заданного в TIME_DELAY.

Если наблюдается много ложноположительных или ложноотрицательных результатов, увеличьте значение TIME_DELAY в коде.

Авторы

Версия Python 3, модифицированная для CTF, — Derick G. Andrighetti.

Основано на старом публичном PoC на Python 2, первоначально опубликованном Daniele Scanu из Certimeter Group.

Ссылки

  • CVE-2019-9053
  • CMS Made Simple <= 2.2.9
  • Техника: time-based blind SQL Injection

Лицензия

Использование в образовательных целях.

Этот материал создан для учебных целей, лабораторных демонстраций и CTF-заданий.

Скачать инструмент