sql注入之布林盲注

2021-10-13 05:28:05 字數 1541 閱讀 1243

今天我們主要講一下布林盲注是如何使用的,顧名思義,盲注,就是我們需要去不停的去測試,首先我們測試注入型別,然後我們再去帶入相應的函式資訊。布林盲注很明顯的就是ture跟fales,也就是說它會根據你輸入的注入資訊返回ture或者fales,也就沒有了之前的報錯資訊。

布林盲注裡面比較常用得函式是length(),測試返回字串符得長度,substr(),擷取字串,以及ascii()編碼表,返回字元的ascii表。

我們就拿sqli labs-5來測試,首先我們來測試資料庫得長度,即這個資料庫是幾位數得,這裡就要用到我們的length()函式了。

由上圖我們可以看出,當我們輸入7得時候,是可以返回得,但是當我們輸入》8得時候,是沒有結果的。由此我們斷定這裡的資料庫長度是大於7而小於8得,那我們就直接輸入=8即可。這樣我們就測出來當前資料庫得長度是8位數得。

爆出來長度之後,我們就要挨個爆資料庫得名字了 我們從第乙個開始爆破。這裡就要用到substr()這個函式了。

然後第二個點是我們爆出來得當前字串相對應的字元是ascii編碼表的第115位,即』s』。這樣我們就以此類推爆出當前資料庫名字得其他字串啦。

然後我們接下來爆表名。首先我們要獲取表的數量。

在這裡我們看到當前資料庫有四張表。然後我們先爆第一張表的名字長度以及表名。

然後我們就要爆第乙個表的第乙個字元了。

然後得出我們爆出的第乙個表的第乙個字元是』e』。然後以此類推,我們就可以爆出這張表的其它字串了。

然後緊接著就是爆列的長度以及列的名字了。方法跟上面一樣,就不做一一解釋了。

語法分別是:id=1』 and length((select column_name from information_schema.columns where table_name=『users』 limit 0,1))>?這是代表獲取列的長度。

adn ascii((substr(select column_name from information_schema.columns where table_name=『users』 limit 0,1),m,1))>n 這是代表破解列得名字。

布林盲注就是這麼得費勁,一般情況下我們會借助一些工具省區這些繁瑣的步驟,但是在學習之初,還是希望大家能夠自己慢慢測試熟悉一下流程,畢竟走的慢一點 才可以走的更穩嘛。

sql注入之 布林盲注

一 布林型盲注 盲注,就是在伺服器沒有錯誤回顯是完成的注入攻擊。伺服器沒有錯誤回顯,對於攻擊者來說缺少了非常重要的資訊,所以攻擊者必須找到乙個方法來驗證注入的sql語句是否得到了執行。注入原理 ascii ord 函式,返回字元ascii碼值 引數 str單字元 length 函式,返回字串的長度。...

SQL注入 布林盲注

可以進行sql注入,但是不能通過sql注入漏洞看到資料庫中的資訊,但是可以通過真假判斷資料庫中的資訊 布林盲注的方法 構造邏輯判斷語句,判斷資訊的真假,取出所有的真值 以less 8為例 還是老步驟,初步判斷是否存在sql注入漏洞 返回you are in 無返回 可以初步判斷存在sql注入漏洞,並...

SQL盲注 布林注入 筆記

存在sql注入漏洞 然而頁面即不會回顯資料,也不會回顯錯誤資訊,只返回 right 與 wrong 這裡我們可以通過構造語句,來判斷資料庫資訊的正確性,再通過頁面的 真 與 假 來識別我們的判斷是否正確,這即是布林盲注!構造邏輯判斷語句,判斷資訊真假,取出所有的真值,實現sql注入 方法例子 說明l...