← Questões de Segurança da Informação

Segurança da Informação · FGV · 2023

Questão comentada de Segurança da Informação

A Injeção de SQL, ou SQL Injection, está entre as vulnerabilidades mais críticas em aplicações Web. De acordo com a OWASP, a melhor maneira de prevenir essa vulnerabilidade é

Gabarito: D

SQL Injection acontece quando o atacante consegue “enfiar” comandos SQL dentro da aplicação e fazer o banco executar algo que não era para executar. Na prática, isso costuma ocorrer quando a aplicação monta a consulta concatenando texto vindo do usuário, em vez de tratar esse dado como dado de verdade. A recomendação mais forte da OWASP para prevenir esse tipo de falha é usar consultas parametrizadas, também conhecidas como Prepared Statements. Com elas, os valores recebidos ficam separados da estrutura da consulta, então o banco não confunde entrada do usuário com instrução SQL. É como separar o ingrediente da receita: a aplicação recebe o valor, mas não deixa ele virar comando. Por isso o gabarito é a letra D. Essa é a medida de prevenção mais efetiva porque combate a causa raiz do problema, e não só os sintomas. A própria OWASP coloca o uso de parâmetros como a principal defesa contra SQL Injection, antes de medidas complementares como validação de entrada e controle de privilégios. As outras alternativas até podem ajudar em segurança geral, mas não resolvem o problema central. WAF, por exemplo, pode bloquear algumas tentativas, mas não substitui o tratamento correto das consultas. Segurança de banco e mensagens de erro também são importantes, só que ficam na camada de apoio, não na prevenção principal.

Continue treinando

Questões relacionadas