sql注入條件判斷bypass系列

   最近疫情搞的有些emo了,一直在被隔離,寫點東西記錄下吧

 最近一直沒學習,一直在挖漏洞,說點mysql sql注入挖掘tips吧

 先來常見的

 (1)if:

SELECT if(1=1,1,0)

  

 

 

 (2)case when:

  

SELECT case when 1=1 then 1 else 0 end

  

 

 

這是常見的,一般條件判斷用這兩個是最多的,如果waf/程序處理了這些條件判斷,我們還可以注入嗎?

  答:可以的

  來點非常規的:

  (3):PERIOD_DIFF ,時間函數 需要配合xor/or/and   

 

 

  爲真,返回0,不爲真返回其他數字

  

 

 跑注入的用法如下:

  

and 1=PERIOD_DIFF(ascii(1),*)
and 1=PERIOD_DIFF(ascii(1),*)

 

 

(4)TIMEDIFF 和PERIOD_DIFF函數類似

select TIMEDIFF(ascii(1),49)

 

 

 

 

 


(5):NULLIF 個人比較喜歡用這個

  如果兩個數,比較結果爲真,那麼返回null,否則返回第一個表達式 

select nullif(ascii(1),49)

 

 

 

(6) IFNULL 和NULLIF函數類似:

  解釋:假如expr1不爲NULL,則 IFNULL() 的返回值爲expr1; 否則其返回值爲 expr2。IFNULL()的返回值是數字或是字符串,具體情況取決於其所使用的語境。

  

select nullif(ascii(2),42)

 

 

 

 

(7)elt函數

 解釋參考:

 

 

select elt('r'='r',1);

 

refer:phpoop,f0ng

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章