Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 

Repository files navigation

🔍 SQLBlind

Ferramenta de extração de dados via Time-Based Blind SQL Injection — desenvolvida para fins educacionais e uso em ambientes autorizados (CTFs, labs, pentests).


⚙️ Como funciona

O SQLBlind explora vulnerabilidades de Blind SQL Injection usando a função SLEEP() do MySQL como oráculo binário: se a query demorar ≥ 3 segundos, o caractere testado está correto. O processo é repetido caractere por caractere até reconstruir o valor completo.

Payload: ' union select 1,2,if(substring(TRIM((SELECT ...)),1,N)='guess',sleep(3),NULL) -- -

🚀 Instalação

git clone https://github.com/joaocalciolari07/sqlblind
cd sqlblind
pip install requests

🛠️ Uso

  1. Edite a URL alvo na função req():
url = "http://SEU_ALVO_AQUI"  # Altere para o endereço do lab/CTF
  1. Execute:
python sqlblind.py
  1. Escolha uma opção no menu interativo:
╔══════════════════════════════════════════╗
║           SQLBlind - Menu                ║
╠══════════════════════════════════════════╣
║ 1. Descobrir banco de dados              ║
║ 2. Descobrir tabelas                     ║
║ 3. Descobrir colunas                     ║
║ 4. Extrair dados de uma coluna           ║
║ 5. ORDER BY (contar colunas)             ║
║ 6. AUTOMATICO COMPLETO                   ║
║ 0. Sair                                  ║
╚══════════════════════════════════════════╝

📋 Funcionalidades

Função Descrição
fuzz() Descobre o banco de dados atual
fuzz_tables(db) Lista todas as tabelas de um banco
fuzz_columns(db, table) Lista todas as colunas de uma tabela
fuzz_data(table, col) Extrai os dados de uma coluna
orderby() Determina o número de colunas via ORDER BY
auto() Executa extração completa automaticamente

🧠 Detalhes técnicos

  • Técnica: Time-Based Blind SQL Injection (UNION + IF + SLEEP)
  • SGBD alvo: MySQL / MariaDB
  • Charset testado: [0-9][a-z][A-Z]_-@.
  • Limite por valor: 64 caracteres (configurável via MAX_LEN)
  • Threshold de tempo: 3 segundos

⚠️ Aviso Legal

Esta ferramenta é destinada exclusivamente a ambientes controlados e autorizados: CTFs, laboratórios de segurança, treinamentos e pentests com permissão explícita.
O uso em sistemas sem autorização é ilegal e de responsabilidade exclusiva do usuário.


🔧 Requisitos

  • Python 3.x
  • requests

About

Time-based blind SQL injection tool for MySQL — extracts databases, tables, columns and data character by character using SLEEP() as a binary oracle. Built for CTFs and authorized lab environments.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages