Início / Blog / SQL injection
Blog · Fundamentos

O que é SQL injection (injeção de SQL)

Um dos ataques mais antigos da web ainda derruba aplicações inteiras — porque muitas continuam confiando cegamente no que o usuário digita.

Em resumo

SQL injection é quando um atacante insere comandos SQL maliciosos em campos de entrada de uma aplicação — como um formulário de login ou uma barra de busca — para acessar ou alterar o banco de dados por trás dela. Acontece quando a aplicação junta a entrada do usuário direto na consulta ao banco sem tratá-la. Está no OWASP Top 10 entre as falhas mais críticas de aplicações web. A defesa combina queries parametrizadas, validação de entrada e testes de segurança (pentest).

Toda aplicação que guarda dados — clientes, pedidos, senhas — conversa com um banco de dados usando SQL, a linguagem de consulta. Quando o desenvolvedor monta essa consulta juntando pedaços de texto que o usuário digitou, ele abre uma porta: se o usuário digitar algo que o banco interpreta como comando em vez de dado, o atacante passa a mandar no banco. Isso é SQL injection.

Como funciona

A raiz do problema é sempre a mesma: entrada não validada misturada com a lógica da consulta. Imagine um login que busca o usuário pelo que foi digitado no campo. Se a aplicação simplesmente cola esse texto dentro do comando SQL, um atacante pode digitar não um nome, mas um trecho de código SQL — por exemplo, algo que faz a condição sempre ser verdadeira e libera o acesso sem senha.

O banco de dados não distingue "dado que o usuário quis informar" de "comando que ele injetou": ele executa tudo que chega como se fosse instrução legítima. Por isso o ataque não depende de invadir o servidor — basta um campo de entrada mal tratado em qualquer tela pública da aplicação.

O que o atacante consegue

Uma vez que consegue injetar comandos, o estrago pode ir longe:

Em resumo: uma única falha de SQL injection pode expor todos os dados guardados pela aplicação.

Entrada
A porta que abre a falha
OWASP Top 10
Onde a injeção está listada
Pentest
O teste que encontra a brecha

Como prevenir

A boa notícia é que SQL injection é uma falha bem compreendida e evitável. A defesa se apoia em algumas práticas que se reforçam:

Onde o Argos entra

O Argos é a operação de segurança gerenciada da NoBug. Nosso pentest testa suas aplicações seguindo o OWASP Top 10 — incluindo SQL injection — para encontrar as brechas antes que virem incidente, com um relatório que a sua equipe consegue agir. E o SOC com IA mantém a vigilância depois, monitorando o ambiente 24 horas. Todo o trabalho roda com os dados no Brasil.

Leve com você
  • SQL injection insere comandos SQL maliciosos por campos de entrada para acessar ou alterar o banco.
  • A causa é entrada não validada colada direto na consulta ao banco de dados.
  • O atacante pode roubar, alterar e apagar dados, ou burlar o login — está no OWASP Top 10.
  • Previna com queries parametrizadas, validação de entrada e pentest.

Teste suas aplicações contra SQL injection

O pentest do Argos busca falhas de injeção e outras do OWASP Top 10 antes que um atacante as encontre. A gente entende seu cenário numa conversa rápida e monta uma proposta sob medida.