0% acharam este documento útil (0 voto)
5 visualizações3 páginas

Guia Prático sobre SQL Injection

SQL Injection é uma técnica de manipulação de consultas SQL através de entradas de usuário em sistemas vulneráveis. Os tipos comuns incluem login bypass, union-based, error-based e blind injection, e a prevenção eficaz envolve o uso de prepared statements e o tratamento adequado das entradas. Para testar e corrigir SQL Injection, recomenda-se o uso de ambientes seguros e práticas como a filtragem de entradas e o armazenamento seguro de senhas.

Enviado por

emachadoferla
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
5 visualizações3 páginas

Guia Prático sobre SQL Injection

SQL Injection é uma técnica de manipulação de consultas SQL através de entradas de usuário em sistemas vulneráveis. Os tipos comuns incluem login bypass, union-based, error-based e blind injection, e a prevenção eficaz envolve o uso de prepared statements e o tratamento adequado das entradas. Para testar e corrigir SQL Injection, recomenda-se o uso de ambientes seguros e práticas como a filtragem de entradas e o armazenamento seguro de senhas.

Enviado por

emachadoferla
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd

Fundamentos de SQL Injection — Resumo para Trabalho Escolar

1. O que é SQL Injection

SQL Injection é uma técnica utilizada para manipular consultas SQL através de entradas de
usuário, permitindo modificar a consulta original enviada ao banco de dados. Isso só ocorre
quando o sistema está vulnerável e não realiza tratamento adequado dos dados.

2. Como Saber se um Sistema é Vulnerável

Um sistema pode estar vulnerável se:

• Usa variáveis diretamente na query (ex: "SELECT * FROM usuarios WHERE


email='$email'")

• Não usa prepared statements

• Não filtra nem valida entradas

• Exibe erros SQL na tela

• Utiliza senhas em texto puro no banco de dados

3. Tipos Comuns de SQL Injection

• Login Bypass

Exemplos de payloads:

' OR 1=1 --

' OR '1'='1

qualquercoisa' OR 'x'='x

• Union-Based Injection

' UNION SELECT 1,2,3 --

• Error-Based Injection
' ORDER BY 5 --

• Blind Injection

' AND 1=1 --

' AND 1=2 --

4. Como Testar SQL Injection com Segurança

Sempre em ambiente local, como XAMPP, Postman ou Burp Suite. O navegador pode
bloquear caracteres especiais em inputs tipo “email”, então é comum mudar para
type="text" ou enviar a requisição diretamente via ferramenta externa (Postman, Burp,
cURL).

5. Como Corrigir SQL Injection

• Usar prepared statements:

Exemplo com PDO:

$stmt = $pdo->prepare("SELECT * FROM usuarios WHERE email = :email AND senha


= :senha");

$stmt->execute([":email" => $email, ":senha" => $senha]);

• Nunca armazenar senha em texto puro

Usar password_hash e password_verify.

• Filtrar entradas

filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL);

• Desabilitar erros em produção

ini_set('display_errors', 0);
6. Resumo Final

• SQL Injection acontece quando entradas do usuário são inseridas sem tratamento nas
consultas SQL.

• Existem diversos tipos de SQLi, como login bypass, union-based, error-based e blind.

• A forma definitiva de evitar SQL Injection é usar prepared statements.

Você também pode gostar