Analise o código e verifique se as técnicas de programação s...

Próximas questões
Com base no mesmo assunto
Q2171815 Segurança da Informação
Analise o código e verifique se as técnicas de programação segura foram implementadas:
... $ id = $ _GET['id']; $ query = mysql query ('SELECT table.field FROM table WHERE id =' .$ GET ['id']); ...
Com base no código apresentado, analise as assertivas abaixo:
I. Vulnerabilidade e dependência de pacotes externos. II. Autenticação segura. III. Higienização das entradas de dados. IV. Princípio do menor privilégio.
Quais estão INCORRETAS? 
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a E, que afirma que todas as assertivas estão incorretas.

Justificativa:

A questão apresentada aborda o tema de programação segura, especificamente no contexto de segurança em consultas SQL e manipulação de dados provenientes de entradas do usuário. Vamos analisar cada assertiva:

I. Vulnerabilidade e dependência de pacotes externos.

O código mostrado utiliza a função mysql_query diretamente com dados provenientes de $_GET['id'] sem qualquer validação ou higienização. Isso resulta em uma vulnerabilidade conhecida como SQL Injection. Além disso, não há indicação de dependência de pacotes externos neste trecho de código específico. Portanto, esta assertiva está incorreta.

II. Autenticação segura.

O trecho de código fornecido não trata de autenticação de usuário de nenhuma forma. Ele apenas realiza uma consulta SQL. Portanto, esta assertiva está incorreta.

III. Higienização das entradas de dados.

O código falha ao não higienizar a entrada de dados proveniente de $_GET['id']. Para que o código fosse seguro, deveria ser utilizada uma técnica de higienização, como consultas preparadas (prepared statements) ou funções de escape de strings. A ausência dessa higienização torna o código vulnerável a SQL Injection. Portanto, esta assertiva está incorreta.

IV. Princípio do menor privilégio.

O princípio do menor privilégio não é abordado ou implementado explicitamente no trecho de código fornecido. Este princípio se refere a dar aos usuários e programas apenas as permissões necessárias para cumprir suas funções. Não há indicações de controle de permissões ou privilégios no código mostrado. Portanto, esta assertiva está incorreta.

Em resumo, todas as assertivas (I, II, III e IV) estão incorretas, justificando a escolha da alternativa E.

Clique para visualizar este gabarito

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