Questão nº 43
Questão de Tecnologia da Informação · FCC TRT23 2022 (nº 43)
Para evitar ataques de SQL Injection, em condições ideais, o H2 Database fornece uma maneira de impor o uso de parâmetros ao passar a entrada do usuário para o banco de dados, desabilitando literais incorporadas em instruções SQL, por meio da instrução
- A`SET SQL_INJECTION=FALSE;`
- B`SET ALLOW_LITERALS NONE;` (alternativa correta)
- C`SET INPUT_MODE WITH LITERALS=FALSE;`
- D`SET INPUT_MODE=PREPAREDSTATEMENT ALLOW_LITERALS=FALSE;`
- E`SET ALLOW_LITERALS=OFF;`
Resposta comentada
Gabarito Alternativa B
Para evitar ataques de SQL Injection, que ocorrem quando dados maliciosos são inseridos em comandos SQL, o ideal é sempre tratar a entrada do usuário como dados, e não como parte do código SQL. O H2 Database permite forçar isso exigindo que todas as entradas sejam passadas como parâmetros (como em prepared statements), em vez de literais embutidos diretamente na consulta.
- (A) Incorreta: Não existe um comando
SET SQL_INJECTION=FALSE;no H2 Database para desativar a injeção SQL diretamente; a prevenção é feita por meio de configurações específicas que forçam o uso seguro de dados. Esta é a armadilha da banca, pois sugere uma solução simplista e direta para um problema complexo. - (B) Correta: O comando
SET ALLOW_LITERALS NONE;no H2 Database desabilita o uso de literais (valores fixos) diretamente nas instruções SQL, forçando que todos os valores sejam passados como parâmetros, o que é a maneira recomendada de prevenir SQL Injection. - (C) Incorreta: A sintaxe
SET INPUT_MODE WITH LITERALS=FALSE;não é um comando válido no H2 Database para essa finalidade. - (D) Incorreta: Embora mencione "PREPAREDSTATEMENT", a sintaxe
SET INPUT_MODE=PREPAREDSTATEMENT ALLOW_LITERALS=FALSE;não é o comando correto para configurar o H2 Database para desabilitar literais. - (E) Incorreta: Embora
ALLOW_LITERALSesteja correto, a opçãoOFFnão é a sintaxe usada pelo H2 para desabilitar completamente os literais; o termo correto éNONE.
Fonte: FCC TRT23 2022 Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.