Injeções de SQL no ADOdb e segurança geral do site
Eu fiz praticamente leitura e ainda não entendi 100% como algumas das injeções de SQL acontecem!
Gostaria de ver, daqueles que sabem, exemplos concretos de injeção de SQL com base no meu exemplo, para que pudessem ser replicados, testados e corrigidos. Eu tentei injetar SQL no meu código e não consegui, então eu gostaria que alguém me provasse o contrário!
1. Estou certo que a injeção de SQL pode acontecer APENAS com os métodos POST ou GET, o que significa que no site deve ser o formulário de postagem, por exemplo, 'inscrição ou pesquisa' ou consulta como 'search.php? tags = love'?
Dizendo isso é possível injetar o seguinte código que tem o método POST?
$name = trim($_POST['username']);
$mail = trim($_POST['email']);
$password = trim($_POST['password ']);
if ($errors == "false") {
$sql =
"INSERT INTO
clients
SET
name='" . mysql_real_escape_string($name) . "',
mail='" . mysql_real_escape_string($mail) . "',
password='" . mysql_real_escape_string(sha1($password)) . "'";
$connection->execute($sql);
}
2. o outro tem o método GET:rate.php?like&videoID=250&userID=30
$sql =
"SELECT
videoID
FROM
likes
WHERE
videoID = '" .mysql_real_escape_string($videoID). "' AND UID = '" .mysql_real_escape_string($userID). "' LIMIT 1";
$connection->execute($sql);
Por favor, ajude aqueles que se sentem livres com o assunto, mas use os exemplos concretos.
Desde já, obrigado,
Ilia