Ataques e ameaças
Injeção SQL
Também conhecido como: SQLi
Definição
Ataque que insere fragmentos SQL controlados pelo atacante em consultas construídas com entradas não confiáveis, permitindo roubo, alteração ou comprometimento total da base de dados.
A injeção SQL (SQLi) ocorre quando uma aplicação concatena entradas do utilizador em instruções SQL sem separar adequadamente código e dados. Com cargas como ' OR 1=1-- ou UNION SELECT, o atacante pode contornar a autenticação, ler tabelas arbitrárias, modificar ou apagar registos e, em bases mal configuradas, executar comandos do sistema. As variantes incluem baseadas em erro, em UNION, cegas (booleanas ou por tempo) e fora de banda. A vulnerabilidade é presença constante no OWASP Top 10. A defesa essencial são consultas parametrizadas (prepared statements) com variáveis vinculadas, complementadas por validação de entrada, contas de base de dados com mínimo privilégio, ORMs reforçados e um WAF como controlo compensatório.
Exemplos
- Um formulário de login em que utilizador='admin'--' permite entrar sem palavra-passe.
- Um endpoint de pesquisa que expõe a coluna password_hash através de um UNION SELECT manipulado.
Termos relacionados
Injeção NoSQL
Ataque de injeção contra bases documentais, chave-valor ou de grafos no qual o atacante insere operadores ou JavaScript em objetos de consulta.
Command Injection
Command Injection — definition coming soon.
Parameterized Query
Parameterized Query — definition coming soon.
Input Validation
Input Validation — definition coming soon.
OWASP Top 10
OWASP Top 10 — definition coming soon.
Firewall de Aplicação Web (WAF)
Filtro em proxy reverso que inspeciona tráfego HTTP/HTTPS para bloquear ataques web como SQL injection, XSS e abuso de bots antes que atinjam a aplicação.