SQL注入盲注

布爾盲注

布爾很明顯,它會(huì)根據(jù)你輸入的數(shù)據(jù)返回ture或者fales,也就沒有之前的報(bào)錯(cuò)信息了

這里我們需要引進(jìn)幾個(gè)變量:

length() 函數(shù) 返回字符串的長(zhǎng)度

substr() 截取字符串 (語法:SUBSTR(str,pos,len);)

ascii() 返回字符的ascii碼

比如我們?cè)趯?shí)戰(zhàn)中,當(dāng)頁面沒有回顯,而寫我們想要知道當(dāng)前數(shù)據(jù)庫的名字怎么辦呢,這時(shí)候我們可以先判斷數(shù)據(jù)庫名字的長(zhǎng)度。利用length函數(shù)

比如:我們可以利用比較符號(hào)判斷數(shù)據(jù)庫名稱長(zhǎng)度

id=1?And (length(database()))>9-- a

在得到長(zhǎng)度之后我們可以利用substr函數(shù)截取字符串然后判斷當(dāng)前字段的ascii碼與ascii碼表中的是否對(duì)應(yīng)

比如:

and (ascii(substr(database(),1,1)))=115--?a返回正常,說明數(shù)據(jù)庫名稱第一位是s

and (ascii(substr(database(),2,1)))=101-- a 返回正常,說明數(shù)據(jù)庫名稱第二位是e

這里所用的原理和判斷名稱長(zhǎng)度是一樣的,可以利用比較符號(hào)判斷出來對(duì)應(yīng)的字符,英文26為字母以及字符在ascii表中都有對(duì)應(yīng)的十進(jìn)制數(shù)值這里附上一張樣圖


時(shí)間盲注

時(shí)間盲注只會(huì)返回ture,無論輸入任何值,返回的結(jié)果都會(huì)安扎正常數(shù)值來執(zhí)行,加入特定的時(shí)間函數(shù),通過查看web頁面反應(yīng)的時(shí)間差來判斷注入的語句是否正確。

sleep() 將程序掛起一段時(shí)間n為n秒

if(expr1,expr2,expr3) 判斷語句 如果第一個(gè)語句正確就執(zhí)行第二個(gè)語句如果錯(cuò)誤執(zhí)行第三個(gè)語句

ascii() 返回字符的ascii碼

比如說在實(shí)戰(zhàn)過程中,當(dāng)你遇到無論輸入什么頁面就是沒有變化的情況,我們也不能通過判斷頁面變化來確定語句是否執(zhí)行成功,這時(shí)候我們就可以利用時(shí)間函數(shù)判斷語句是否成功執(zhí)行

比如:判斷頁面是否存在注入點(diǎn)

?id=1 and sleep(5) -- a

當(dāng)頁面刷新出現(xiàn)延遲的時(shí)候說明我們的語句成功執(zhí)行了,也就確定這個(gè)位置存在注入;

當(dāng)然單單利用時(shí)間函數(shù)并不能達(dá)到我們想要的效果,我們的目的是為了查詢數(shù)據(jù),這時(shí)候我們就可以用到

if(expr1,expr2,expr3)函數(shù),把if(expr1,expr2,expr3函數(shù)和時(shí)間函數(shù)結(jié)合,可以更好的執(zhí)行我們想要的效果,

比如:

and if(ascii(substr(database(),1,1))>120,0,sleep(10))-- a

這條語句表示當(dāng)前數(shù)據(jù)庫名稱的第一字符是否大于ascii表對(duì)應(yīng)的十進(jìn)制120,如果是頁面就會(huì)延遲刷新10秒,如果不是就沒變化。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 總結(jié) 所有的sql盲注方法都講了,其中基于時(shí)間的盲注由于在瀏覽本地網(wǎng)頁時(shí)一般都是秒進(jìn),所以出現(xiàn)延時(shí)時(shí)效果明顯,但是...
    dawsonenjoy閱讀 844評(píng)論 0 2
  • 注入源代碼 1.left()判斷數(shù)據(jù)庫版本
    唐小風(fēng)7閱讀 321評(píng)論 0 0
  • 0x00 前言 由于要使用到基于時(shí)間的盲注,但是我覺得基于時(shí)間的盲注其實(shí)就是基于布爾的盲注的升級(jí)版,所以我想順便把...
    孤君蓑笠翁閱讀 1,725評(píng)論 0 0
  • Sql注入定義: 就是通過把sql命令插入到web表單提交或輸入域名或頁面請(qǐng)求的查詢字符串,最終達(dá)到欺騙服務(wù)器執(zhí)行...
    付出從未后悔閱讀 753評(píng)論 0 3
  • sql注入原理:web應(yīng)用程序?qū)τ脩舻妮斎霙]有進(jìn)行合法性的判斷,前端傳入后端的參數(shù)是攻擊者可控的,并且?guī)肓藬?shù)據(jù)庫...
    DQ_5e1b閱讀 2,323評(píng)論 0 0

友情鏈接更多精彩內(nèi)容