當前位置:
首頁 > 最新 > 實例講解False盲注基礎原理

實例講解False盲注基礎原理

0×01 前言

false盲注有些時候可以繞過一些WAF,也是容易被忽視的細節。本文的目的在於通過做CTF的同時來學習注入原理,同時也運用到自身的能力。這裡只是簡單說一些我自己的理解,也許網上有更好的思路和見解,都是值得學習的。


0×02 false注入原理

MYSQL的隱式類型轉換,當字元串和數字比較時,會把字元串轉為浮點數,而字元串轉換時會產生一個warning,轉換的結果為0,但如果字元串開頭是數字話還是會從數字部分截斷,轉換為數字

舉例地址為:

http://118.89.219.210:49167/index.php(Bugku)

填入username和password之後,Burp抓包,send to repeater分析一下

發現過濾了挺多的,空格,%0a,/**/,and,union等等

但是 |(位或)&(位與)^(位異或)沒有過濾掉

這裡的話應該來說都可以用,我試了一下|(位或)和 ^(位異或),這兩個都是可以的

構造一個payload語句為:

函數介紹:

ASCII()返回字元表達式最左端字元的ASCII 碼值

當第一字母的ascii碼值為53的時候,右邊的表示式則為false,與『admin』 或, 相當與 0 | 0 結果為0,當username=0時,返回查詢欄位的所有數據,(只要username沒有以數字開頭的)這裡注意 按位或的優先順序高於=,所以是先按位或再賦值給username。

當然了,想構造為0的話不止只有位運算符,還有+號(『 』+『 』=0), -號(『 『-』 『=0), *號(『 『*』 『=0), /號(『 『/1=0), %取余(『 『%1=0)等等

可以先判斷一下欄位長度:

根據頁面信息判斷為32位

原理都講得差不多了

可以自己手注,但似乎太麻煩了

下面可以寫一個Python腳本跑出來

結果為:


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 瘋貓網路 的精彩文章:

SikurPhone:內置「防黑客」加密貨幣錢包的手機
混在運維部的安全員說「埠與口令安全」

TAG:瘋貓網路 |