Questão
ID 2560071Disciplina: Tecnologia da Informação
Assunto: Injeção SQL (SQL Injection)
Ano: 2014 Banca: FGV - Fundação Getúlio Vargas Órgão: Câmara Municipal do Recife
O seguinte trecho de código PHP, implementado em um servidor por um programador inexperiente, destina-se a consultar, através de um comando SQL, a tabela users de um banco de dados, como parte do processamento de admissão (login) de usuários em um sítio web (o operador . em PHP significa concatenação de cadeias de caracteres):significa concatenação de cadeias de caracteres):
<?php
// algum código anterior,
// estalecendo a conexão com o banco
\$login = \$_POST["login"];
\$passw = \$_POST["password"];
\$sql = "SELECT * FROM users WHERE” .
" login=’" . \$login .
"’ AND password=’" .
\$passw . "’;";
\$rows = mysql_query (\$sql);
// algum código posterior
?>
Supondo que a cadeia de caracteres recebida como login seja ’
OR 2=2;--
e que a conexão com o servidor de banco de dados tenha sido previamente estabelecida, pode-se afirmar que a consulta: