,第一个单引号和第三个单引号组成了一对,' limit 1 就多余了..所以报错了....,表示对字符集取反,用于中括号外面表示以这个字符开头:
[^a-zA-Z0-9_]匹配除了这些字符之外的字符,^union 匹配由union开头的字符....所以想绕过union仅有两种可能:
$name不是以union开头,但是其前或后至少要有一个字符在[a-zA-Z0-9_]的范围之内....绕过,但是有局限性,括号是用来包围子查询的,因此任何计算出来的结果都可以用括号包围起来
2.%09, %0a, %0b , %0c ,%0d , %a0 (%a0 不会被php的\s匹配,所以有时候有奇效...()
绕过逗号的情况
select substr(user()from(1)for(1)) ;
绕过某些关键字的过滤
select => sel%00ect # 在ctf中出现好几次了,但是这不是通法