$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设法删除引号并将整个字段视为字符串。 提前谢谢大家。
答案 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)
可以通过注入绕过此查询
没有