Segundo o relatório OWASP Top10:2021, os ataques do tipo in...

Próximas questões
Com base no mesmo assunto
Q3881255 Segurança da Informação
Segundo o relatório OWASP Top10:2021, os ataques do tipo injeção (A03:2021 - Injection), ocupam a terceira posição na lista. Analise as alternativas a seguir.

I. Para evitar injeções, é necessário manter os dados separados dos comandos e das consultas. A opção preferencial é usar APIs seguras, que evitam o uso do interpretador de comandos por completo, fornecendo uma interface parametrizada ou migração para ferramentas de mapeamento objeto-relacional (ORMs).
II. Recomenda-se a validação positiva de entrada no servidor. Isso por si só não é uma defesa completa, pois muitos aplicativos exigem caracteres especiais, como áreas de texto ou APIs para aplicativos móveis.
III. Para quaisquer consultas SQL estáticas ou dinâmica não se recomenda a utilização de caracteres de escape junto o interpretador de comandos devido às questões de compatibilidade entre sistemas heterogêneos recomenda-se apenas os caracteres literais.

Está correto o que se afirma em
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: C

Fundamento decisivo: O critério decisivo era identificar quais assertivas reproduziam as recomendações do OWASP Top 10:2021 para prevenção de Injection: I e II estão de acordo com o texto-base, enquanto a III não está. Por isso, a resposta correta é C.

Tema central: Prevenção de injeção
Análise das alternativas
A
Errada
Incorreta porque inclui a assertiva III, que contraria o OWASP ao afirmar que não se recomenda escaping em quaisquer consultas SQL, e ainda exclui a assertiva I, que está alinhada ao documento.
B
Errada
Incorreta porque, embora a assertiva I esteja correta, a alternativa mantém a III, que é falsa. O erro técnico está em tratar o escaping como algo a ser evitado de modo geral, quando o OWASP o admite em circunstâncias específicas.
C
Certa
A alternativa C está correta porque reúne as assertivas compatíveis com o OWASP A03:2021. A assertiva I está correta ao indicar a separação entre dados e comandos/consultas, com preferência por APIs seguras parametrizadas ou ORMs. A assertiva II também está correta, pois a validação positiva de entrada no servidor é recomendada, embora não baste sozinha. A assertiva III está incorreta porque contraria a orientação do OWASP ao afirmar que não se recomenda o uso de escape em quaisquer consultas SQL.
D
Errada
Incorreta porque deixa de fora a assertiva II, que também corresponde à orientação do OWASP. Validação positiva no servidor é medida recomendada, apenas não suficiente sozinha.
E
Errada
Incorreta porque considera a assertiva III correta, mas ela está em desacordo com o OWASP. O documento não recomenda 'apenas caracteres literais' nem proíbe escaping de forma geral.
Pegadinha da questão
A confusão explorada foi dupla: fazer o candidato pensar que uma defesa insuficiente isoladamente (validação positiva) seria errada, e transformar o escaping em técnica proibida, quando o OWASP apenas não a coloca como solução preferencial.
Dica para questões semelhantes
  • Em questões sobre OWASP Injection, confira se a medida preserva a separação entre dados e comandos, especialmente por parametrização ou ORM.
  • Se a alternativa disser que validação de entrada resolve sozinha o problema, ela extrapola a recomendação; se disser que é recomendada, mas insuficiente isoladamente, ela está alinhada à base.
  • Quando aparecer escaping, o critério não é 'proibido ou obrigatório': o OWASP o admite conforme o interpretador, normalmente como último recurso.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Análise do contexto da Questão: A questão aborda a segurança em aplicações web, especificamente sobre a prevenção de ataques de injeção, conforme o relatório OWASP Top10:2021. O foco é avaliar o conhecimento sobre práticas recomendadas para evitar esses ataques, como o uso de APIs seguras, validação de entrada e o tratamento de consultas SQL.

Item I: O item I está correto, pois uma das principais recomendações para evitar injeções é manter os dados separados dos comandos e consultas. O uso de APIs seguras e ORMs é uma prática recomendada para evitar a execução de comandos maliciosos. Esta prática é amplamente reconhecida em segurança da informação, conforme documentado no OWASP.

Item II: O item II está correto, pois a validação positiva de entrada no servidor é uma prática recomendada para aumentar a segurança. No entanto, é importante notar que essa prática, por si só, não é suficiente para proteger completamente contra injeções, especialmente em aplicações que requerem caracteres especiais.

Item III: O item III está incorreto, pois recomenda não utilizar caracteres de escape, o que é uma prática comum para evitar injeções em consultas SQL. O uso de caracteres de escape é uma técnica importante para garantir que dados não sejam interpretados como comandos.

Segundo a própria documentação

I) A melhor maneira de prevenir injeções é manter os dados separados dos comandos e consultas:

A opção preferencial é usar uma API segura, que evite o uso do interpretador por completo, forneça uma interface parametrizada ou migre para ferramentas de mapeamento objeto-relacional (ORMs)

II) Utilize validação positiva de entrada no servidor. Isso não é uma defesa completa, pois muitos aplicativos exigem caracteres especiais, como áreas de texto ou APIs para aplicativos móveis.

III) Para quaisquer consultas dinâmicas residuais, utilize a sintaxe de escape específica para o interpretador, escapando os caracteres especiais.

Escape: É colocar um caractere especial (como uma barra \) antes da aspa digitada pelo hacker 

(ex: transformando ' em \'). Isso avisa ao banco de dados por exemplo que : 

"Ei, essa aspa é só texto, não é para fechar o comando SQL".

ou seja . DEVE, SIM, usar o escape específico (Escaping) daquele banco de dados.

Ou seja, apenas I e II corretas!

fonte: https://owasp.org/Top10/2025/A05_2025-Injection/ ( usei a de 2025, porém da para responder ) + tec

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo