今天的分享是網站應用程式的最後一個部分,
主要的內容有:SQL Injection、CSRF Vulnerability、Hydra Bruteforce Attack、Burpsuite Intruder
一樣會用Metasploitable當靶機,使用其中的DVWA應用
SQL Injection是一種涉及數據庫的網頁應用程式漏洞。攻擊者利用這一漏洞,可以將惡意的 SQL 查詢語句注入到網頁的輸入欄位中,從而對後端數據庫進行未經授權的訪問和操作。這種攻擊可能導致數據洩露、數據庫破壞,甚至系統接管。
'
),可以嘗試觸發SQL錯誤。若出現SQL語法錯誤提示,即表示該應用存在SQL注入漏洞。1' AND 1=1 --
可以驗證漏洞存在與否:
1=1
是一個永遠為真的條件,代表著SQL語句的一部分能夠正常執行。1=2
則是一個永遠為假的條件,檢測應用程序如何響應不同的邏輯條件。UNION
查詢來合併結果並提取數據庫中的更多信息。ORDER BY
指令,測試數據庫中的列數,這有助於構建更複雜的注入攻擊。UNION SELECT
並結合內建的數據庫函數如 database()
和 user()
,可以提取當前數據庫的名稱及其用戶信息。information_schema
,可以獲得數據庫內的所有表格名稱、列名等。CONCAT
函數將多個列的數據合併,並提取特定表(如users
表)中的用戶名、密碼等信息。在這段講解中,我們學習了如何使用Hydra工具來暴力破解DVWA中的登錄頁面。這種攻擊方式主要依賴於猜測目標的用戶名和密碼,通過對多個憑證組合進行嘗試,直到找到正確的組合為止。
POST
請求來提交用戶名和密碼。/dvwa/login.php
。hydra
命令來進行攻擊,首先需要指定目標網站的IP地址和協議類型。在此範例中,我們使用http-form-post
,因為我們的登錄表單是通過POST
請求提交的。username
和password
。Login failed
,這樣Hydra就知道在收到這個字符串時,登錄嘗試失敗。usernames.txt
和passwords.txt
兩個文件,這些文件包含我們要用來測試的用戶名和密碼列表。在這些列表中,我們包含了可能的用戶名和密碼,例如admin
和password
。我們最終的Hydra命令如下:
hydra -L usernames.txt -P passwords.txt 192.168.1.9 http-form-post "/dvwa/login.php:username=^USER^&password=^PASS^&Login=submit:Login failed"
Hydra會嘗試所有在usernames.txt
和passwords.txt
中的組合,並且在找到正確的憑證後停止。
admin
,密碼為password
。接下來要分享如何使用Burp Suite的Intruder工具來進行暴力破解登錄頁面。這是一個比Hydra工具更直觀、更易用的方法,特別是當您不熟悉命令行語法時。以下是這個過程的總結和步驟:
test
和test
,然後登錄。Target
選項卡中找到這個請求。Send to Intruder
,然後轉到Intruder
選項卡。Positions
標籤下,您將看到Burp Suite自動選擇的字段。我們只需要選擇用戶名和密碼字段。Cluster bomb
,以便同時暴力破解用戶名和密碼。Payload Type
設置為Simple list
,然後點擊Load
按鈕加載usernames.txt
文件。Payload Type
設置為Simple list
,然後點擊Load
按鈕加載passwords.txt
文件。Start attack
開始攻擊。OK
繼續。Length
來識別正確的用戶名和密碼組合。正確的組合通常會與其他錯誤組合的響應長度不同。