SQL注入(盲注)--DVWA

概述

分類:布爾型、延時型

LOW等級

手工

1、首先了解業務,這裏和回顯注入不一樣,不會顯示id對應的用戶名,只是告訴我們他存在即爲真

輸入-1,返回爲假

三種注入POC(真 and 假=假)

嘗試第一種情況,返回爲真,說明數據沒有注入進去,不存在SQL注入漏洞

輸入第二種情況1' and '1024'='1025 ,返回結果爲假沒說明存在注入漏洞

嘗試第三種情況1" and "1024"="1025,返回爲真,說明數據沒有注入進去,不存在SQL注入漏洞

 

2、確定字符串長度,(在猜解字符串時,首先要知道字符串的長度)

函數:

舉例:

猜解:

通過二分法可確定字符串長度爲4

3、獲取字符串內容

函數:

舉例

舉例:

猜解:(採用二分法進行猜解),

依次獲取第二個第三個第四個字符

4、延時型注入

函數:

舉例:

利用延時注入猜解:

函數:

舉例:

用於延時注入:

自動化

5、SQLmap

獲取數據庫名稱

學習SQLmap注入方法:

-V參數表示輸出詳細信息。有六個等級這裏選擇3

mid和substr作用類似

可以發現SQLmap的思路和我們進行猜解時的的思路一樣的

 

Medium等級

手工

1、

進行改包:結果爲假,注入成功

自動化

2、SQLmap

High等級

1、手工

自動化

2、SQLmap

發現失效了

 

發現id在cookie 中

所以要用SQlmap 對cookie進行檢測(level參數>=2)

 

獲取用戶名密碼

Impossible等級

通過查看源碼發現檢測了id數據類型,使用了預編譯綁定id變量,有效防止SQL注入

修復

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章