注射可以绕过这个查询吗?

时间:2014-03-27 03:05:34

标签: php mysql escaping sql-injection

$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);

$checkPassword = mysql_query("SELECT * FROM user_info WHERE Username='$username' AND Password='$password';");

可以通过注射来绕过这个查询吗?如果有人能够进行注射我可以用来进行安全测试吗?

我尝试过'x'或1 = 1但mysql_real_escape_string设法删除引号并将整个字段视为字符串。 提前谢谢大家。

2 个答案:

答案 0 :(得分:1)

mysql_real_escape_string的全部目的是逃避传递给MySQL string literal安全使用的任何值。当你使用由mysql_real_escape_string转义的值时,它应该如何,我。例如,只有在字符串文字中,你才能正确地完成所有事情。

所以,只要你有set the connection character set properly case where mysql_real_escape_string still may be bypassed due to improper setting of the connection character set when using the character sets GBK or BIG5就没有办法绕过这个。

答案 1 :(得分:0)

  

可以通过注入绕过此查询

没有