使用条件
有自动转义函数或全局变量(转义字符串中的特殊字符 '或"或)
addslashes()
mysqli_real_escape_string()
mysql_escape_string()
magic_quotes_gpc
绕过
1.数值型
变量没有被符号包裹
可直接注入:$id=1 and1=1
2.使用了gbk编码可以使用宽字节绕过
原理:国标gbk编码中,汉字两个字节,英文、特殊字符一个字节,我们将转义后的\对应的二进制字节与前面的符号拼成一个汉字,就可使\失效
此处以gbk编码为例:加入%df与%27组成一个汉字,使%27代表的/失效
语句
http://localhost/sqli-labs-master/Less-32/?id=-1%df%27%20union%20select%201,database(),3–%20-
之后替换这单个位置为sql语句即可:1,database(),3