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
poc-CVE-2019-9053 — PoC didático em Python 3 para a CVE-2019-9053, uma SQL Injection time-based blind no CMS Made Simple <= 2.2.9. Esta versão foi adaptada para uso em CTF/laboratório, com prefixos pré-configurados para reduzir o tempo de extração e mensagens explicativas em português. | Kitploit
Ferramentas/GitHubGitHub/rideckszz/poc-cve-2019-9053
Quebra de SenhasAnálise de VulnerabilidadesExploração de Aplicações WebCTFAprendizado e EducaçãoLabs e Prática
GitHubrideckszz/poc-cve-2019-9053

poc-CVE-2019-9053

PoC didático em Python 3 para a CVE-2019-9053, uma SQL Injection time-based blind no CMS Made Simple <= 2.2.9. Esta versão foi adaptada para uso em CTF/laboratório, com prefixos pré-configurados para reduzir o tempo de extração e mensagens explicativas em português.

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
Ver Repositório
15há 3 mesesAinda não revisado

PoC CVE-2019-9053 - CMS Made Simple SQL Injection

PoC didático em Python 3 para a CVE-2019-9053, uma vulnerabilidade de SQL Injection time-based blind no CMS Made Simple <= 2.2.9.

Esta versão foi modificada para uso em CTF/laboratório. Ela possui prefixos pré-configurados para reduzir o tempo de extração e mensagens explicativas em português para ajudar estudantes a entenderem o funcionamento do exploit.

Aviso

Este projeto é destinado exclusivamente para fins educacionais, laboratórios controlados e ambientes de CTF.

Não utilize este código contra sistemas de terceiros sem autorização explícita.

O autor deste repositório não se responsabiliza pelo uso indevido deste material.

Vulnerabilidade

A CVE-2019-9053 afeta versões antigas do CMS Made Simple, permitindo SQL Injection não autenticada através do parâmetro m1_idlist no endpoint:

root@kitploit:~
/moduleinterface.php?mact=News,m1_,default,0

Como a resposta da consulta SQL não aparece diretamente na página, o exploit utiliza uma técnica chamada time-based blind SQL Injection.

Como o exploit funciona

O exploit envia payloads que fazem o banco de dados executar sleep(1) quando uma condição é verdadeira.

Exemplo conceitual:

root@kitploit:~
AND (
  SELECT sleep(1)
  FROM cms_users
  WHERE password LIKE '0c01%'
)

Se o servidor demora para responder, o script entende que o prefixo testado está correto.

Assim, ele reconstrói informações sensíveis caractere por caractere, como:

  • Salt da senha
  • Nome de usuário
  • E-mail
  • Hash da senha

Nesta versão de CTF, alguns prefixos já foram incluídos no código para reduzir o tempo necessário durante a atividade.

O que é uma SQL Injection time-based blind?

Uma SQL Injection ocorre quando a aplicação insere dados controlados pelo usuário dentro de uma consulta SQL sem tratamento adequado.

Neste caso, a injeção é blind porque o resultado da consulta não aparece diretamente na resposta HTTP.

Ela é time-based porque o atacante usa o tempo de resposta do servidor como canal de resposta. Se a condição testada for verdadeira, o banco executa um atraso com sleep(). Se for falsa, a resposta vem normalmente.

Exemplo simplificado:

root@kitploit:~
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.

Repetindo esse processo caractere por caractere, o exploit consegue reconstruir valores do banco mesmo sem vê-los diretamente na página.

O que é salt?

Um salt é um valor extra usado junto com a senha antes de gerar o hash.

Neste desafio, o CMS Made Simple usa uma lógica semelhante a:

root@kitploit:~
md5(salt + password)

Por exemplo:

root@kitploit:~
salt = 1dac0d92e9fa6bb2
password = exemplo123

O hash seria calculado a partir de:

root@kitploit:~
1dac0d92e9fa6bb2exemplo123

O salt serve para dificultar ataques com tabelas pré-computadas e para fazer com que senhas iguais possam gerar hashes diferentes em contextos diferentes.

Apesar disso, md5(salt + password) é uma forma antiga e fraca de armazenamento de senhas. Sistemas modernos devem usar algoritmos próprios para senhas, como:

  • Argon2
  • bcrypt
  • scrypt
  • PBKDF2

Modificações desta versão CTF

Esta versão foi adaptada para facilitar o uso em uma atividade prática.

Principais mudanças:

  • Código atualizado para Python 3.
  • Banner explicativo em português.
  • Explicação breve no terminal sobre o funcionamento do exploit.
  • Prefixos conhecidos para acelerar a extração.
  • Charset otimizado para salt e hash em hexadecimal.
  • Limite de tamanho para salt e hash.
  • Opção de cracking com wordlist.

Valores usados no desafio:

root@kitploit:~
Salt completo: 1dac0d92e9fa6bb2
Username: mitch
Email: [email protected]
Hash completo: 0c01f4468bd75d7a84c7eb73846e8d96

Prefixos configurados no exploit:

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

Esses prefixos não removem a lógica do ataque. Eles apenas reduzem o tempo necessário para a atividade em laboratório.

Estrutura do repositório

root@kitploit:~
poc-CVE-2019-9053/
├── exploit_ctf.py
├── requirements.txt
├── README.md
├── wordlist-example.txt
└── .gitignore

Requisitos

  • Python 3
  • requests
  • termcolor

Instalação

Clone o repositório:

root@kitploit:~
git clone https://github.com/SEU_USUARIO/poc-CVE-2019-9053.git
cd poc-CVE-2019-9053

Crie um ambiente virtual:

root@kitploit:~
python3 -m venv .venv

Ative o ambiente virtual:

root@kitploit:~
source .venv/bin/activate

Instale as dependências:

root@kitploit:~
pip install -r requirements.txt

requirements.txt

O arquivo requirements.txt deve conter:

root@kitploit:~
requests
termcolor

Uso

Execução simples:

root@kitploit:~
python3 exploit_ctf.py -u http://target/cms

Execução com tentativa de quebra da senha usando wordlist:

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

Ver ajuda do script:

root@kitploit:~
python3 exploit_ctf.py -h

Exemplo de wordlist

O arquivo wordlist-example.txt pode conter:

root@kitploit:~
wrongpassword
admin123
dieema123
password
123456

Exemplo de saída esperada

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

Explicação do cracking

Depois que o exploit extrai o salt e o hash da senha, ele pode tentar descobrir a senha em texto claro usando uma wordlist.

A lógica testada é:

root@kitploit:~
md5(salt + senha_candidata)

Para cada senha da wordlist, o script calcula o hash e compara com o hash extraído do banco.

Exemplo conceitual:

root@kitploit:~
candidate_hash = md5("1dac0d92e9fa6bb2" + "dieema123")

Se o resultado for igual ao hash extraído, a senha foi encontrada.

Observações sobre tempo de execução

Time-based SQL Injection costuma ser lenta, porque cada caractere precisa ser testado por várias requisições.

Esta versão reduz o tempo usando:

  • Prefixos conhecidos.
  • Charset hexadecimal para salt e hash.
  • Tamanho máximo conhecido para salt e hash.
  • Delay de 1 segundo por caractere correto.

Mesmo assim, o tempo pode variar de acordo com:

  • Latência da rede.
  • Carga do servidor.
  • Desempenho do banco de dados.
  • Valor configurado em TIME_DELAY.

Se houver muitos falsos positivos ou falsos negativos, aumente o valor de TIME_DELAY no código.

Créditos

Versão Python 3 modificada para CTF por Derick G. Andrighetti.

Baseado em um PoC público antigo em Python 2 originalmente publicado por Daniele Scanu, da Certimeter Group.

Referência

  • CVE-2019-9053
  • CMS Made Simple <= 2.2.9
  • Técnica: time-based blind SQL Injection

Licença

Uso educacional.

Este material foi produzido para fins de estudo, demonstração em laboratório e atividades de CTF.

Baixar ferramenta