De acordo com o OWASP, uma aplicação web fica vulnerável a ataques de Injeção quando
- A)ocorre uso intenso de expressões regulares em operações de validação dados.
Errada: uso de expressões regulares na validação não caracteriza, por si só, vulnerabilidade de injeção.
- B)se impõe o menor nível de privilégio para aplicação conectar a bancos de dados ou outros sistemas de suporte.
Errada: aplicar o menor privilégio é uma boa prática de segurança, não um fator que gere injeção.
- C)ferramentas de mapeamento objeto-relacional são adotadas para reduzir a impedância da programação.
Errada: ferramentas ORM ajudam na abstração de acesso a dados, mas isso não define vulnerabilidade de injeção.
- D)se utiliza a cláusula LIMIT para especificar o número de linhas que devem ser retornadas no resultado de uma consulta SQL.
Errada: a cláusula LIMIT só restringe quantidade de linhas retornadas e não está ligada, por si, ao ataque de injeção.
- E)consultas SQL são concatenadas diretamente com os dados fornecidos pelos usuários por meio de formulários web.
Certa: concatenar diretamente SQL com dados do usuário abre espaço para inserção de comandos maliciosos, que é o caso clássico de injeção.
Gabarito: E
Segundo o OWASP, a vulnerabilidade de Injeção aparece quando a aplicação monta comandos ou consultas com dados externos sem tratamento adequado. Na prática, isso significa deixar o usuário “entrar” no texto da instrução, como se ele estivesse escrevendo parte do SQL no seu lugar. Aí o banco executa algo que não era a intenção original do sistema, e o estrago pode ir de leitura indevida até alteração e exclusão de dados. O exemplo clássico é a injeção SQL. Se o sistema pega valores de um formulário web e os concatena diretamente em uma consulta, o conteúdo informado pelo usuário pode mudar a lógica da instrução. Em vez de consultar apenas o que foi pedido, a aplicação pode acabar executando comandos adicionais ou ampliando o resultado da busca. Por isso, a alternativa correta é a letra E: concatenar SQL diretamente com dados fornecidos pelo usuário é exatamente a situação que o OWASP aponta como vulnerável a ataques de Injeção. A orientação doutrinária é usar consultas parametrizadas/prepared statements, validação de entrada e princípio do menor privilégio, que reduzem bastante o risco. As demais opções falam de práticas que podem até ter relação com desempenho, arquitetura ou segurança em geral, mas não caracterizam a vulnerabilidade de Injeção descrita pelo OWASP. Aqui, o foco é bem direto: se o dado do usuário entra “misturado” no comando, a porta para a injeção fica aberta.