Questão
ID 1797690Disciplina: Tecnologia da Informação
Assunto: Injeção SQL
Ano: 2016 Banca: Instituto AOCP Órgão: Companhia Catarinense de Águas e Saneamento
Um banco de dados foi recém instalado na Casan e, por meio de testes, o administrador de banco de dados (DBA) descobriu uma falha de segurança. No teste realizado, havia uma autenticação simples que emitia uma consulta, apresentado em (1), e retornava se alguma linha fosse encontrada. Sendo encontrada, o usuário teria acesso à base de dados, caso contrário não. O DBA fez uma aplicação alterando a consulta, conforme apresentado em (2). Dessa forma, o DBA conseguiu o acesso do usuário teste sem necessitar saber a sua senha. Esse tipo de “ataque” é tecnicamente conhecido como
SELECT * FROM usuario WHERE nome_usuario = ‘teste’ AND senha=’teste123’; | SELECT * FROM usuario WHERE nome_usuario = ‘teste’ AND (senha=’teste123’ OR ‘x’=’x’); |
(1) | (2) |