SQL注入繞過技巧


常用的繞過技巧

1)雙寫

2)編碼

3)大小寫混寫

4)函數代替

5)注釋

 

具體場景繞過

下面記錄一些具體檢測場景的繞過

0x00 過濾了空格

 空格在SQL語句中是起到分隔符的作用,為了能夠讓解析器能解析SQL語句,所以很重要

如果被過濾了,嘗試編碼(%20)也沒法通過的話,只能找替代了,下面列舉一些替代

1)TAB鍵(%09  %0b)

2)換行(%0a)

3)換頁(%0c)

4)回車(%0d)

5)括號

6)引號

7)反引號

 

0x01 過濾了逗號

我們注入時,逗號的使用主要是截斷函數、limit

1)截斷函數

substr(database()  from 1 for 1)

eg : select substr(user from 2 for 1) from users where user_id=1 limit 0,1;

說明:從第二個字符開始,即角標1開始,截取1長度的字符串

2)limit

使用offset

eg:select * from users where user_id=1 limit 1 offset 0;

說明:從0角標開始,獲取1行

3)join

我們可以把數據單個輸出表,然后使用jion拼起來

eg:union select 1,2,3,4,5

--> union select * from ((select 1)a join (select 2)b join (select 3)c join (select 4)d join (select 5)e)

 注:內select需要有別名,不然會報錯

 

 0x02 不使用原表字段進行查詢

eg:select group_concat(a.3) from (select 1,2,3 union select * from test) as a;

 

 

(未完待續)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM