暴力破解原理與過程詳解


一、爆破原理

顧名思義,暴力破解的原理就是使用攻擊者自己的用戶名和密碼字典,一個一個去枚舉,嘗試是否能夠登錄。因為理論上來說,只要字典足夠龐大,枚舉總是能夠成功的!

但實際發送的數據並不像想象中的那樣簡單——“ 每次只向服務器發送用戶名和密碼字段即可!”,實際情況是每次發送的數據都必須要封裝成完整的 HTTP 數據包才能被服務器接收。但是你不可能一個一個去手動構造數據包,所以在實施暴力破解之前,我們只需要先去獲取構造HTTP包所需要的參數,然后扔給暴力破解軟件構造工具數據包,然后實施攻擊就可以了。
Web暴力破解通常用在,已知部分信息,嘗試爆破網站后台,為下一步的滲透測試做准備。

Http 中的 responserequest 是相對瀏覽器來說的。瀏覽器發送request,服務器返回response。
GetPost:get放在url中,而post放在http的body中。
http_referer:是http中header的一部分,向瀏覽器發送請求時,一般會帶上referer,告訴服務器我是從哪個頁面鏈接而來,為服務器處理提供一些信息。

二、爆破實例

2.1 必要的信息收集

這里我們使用dvwa滲透測試平台中的暴力破解模塊來進行演示。

先使用任意賬號密碼嘗試登錄,並同時使用firefox F12進行抓包分析。


這一步的作用是,收集構造HTTP數據包所需要的參數,比如cookie、get/post、referer、提交得字段名等。

  • cookie:用在暴力破解過程中保持和服務器的連接
  • referer:一些網站需要驗證referer信息,告訴服務器,我是從哪個頁面轉過來的
  • post/get: 決定數據包的提交方式
  • 字段名:通常存放在cookie當中,知道正確的字段名,才能將數據正確的提交給服務器

可以看到cookie里面除了 username 和 password 字段之外還有一個 token,這個通常是用來防止CSRF攻擊的。
收集到以上信息之后,我們就可以構造用於攻擊的數據包。

2.2 實施攻擊

需要用到的參數收集完畢之后,接下來就需要使用到爆破軟件,這里我們先講一個專用與爆破的軟件——Bruter,之后會再介紹一款綜合的Web類安全軟件 :
如下圖所示,這款軟件支持包括FTP、SSH在內的十多種不同應用場景的暴力破解。我們這里是Web登錄的爆破,所以選擇Web Form:

Paste_Image.png

點擊協議右側的選項,將我們之前獲得的信息輸入進去。
其實我們也可以直接在網址一欄中輸入我們要攻擊的URL,點擊載入,它會自動將構造攻擊數據包所需要的信息識別出來並填好,如果我們發現有問題或者有遺漏,也可以手動修改。

有些朋友可能要說,既然可以自動獲取相關參數,那為什么我們還要花時間精力去手動收集信息呢?其實之前的手動收集主要是幫助我們理解暴力破解的原理,正所謂知其然不夠,還要知其所以然。並且軟件自動獲取的參數也可能會出錯,我們可以再驗證一次。

接下來設置用戶名和密碼。用戶名可以使用字典,如果你知道用戶名是什么,你也可以直接輸入字符串,比如:admin。
密碼則有多種選擇,如果選擇字典選項,則需要加載我們自己事先准備好的字典(比如自己收集的弱口令字典),右側還可以設置大小寫、字符長度等:

Paste_Image.png

ps:注意bruter字典路徑似乎不支持中文路徑,筆者這里使用中文路徑會報錯。

如果選擇暴力破解選項,就是軟件使用自動生成字符串進行攻擊,我們可以自定義使用到的字符種類、長度等:

Paste_Image.png

至於右側的選項,大家可以根據自己的需要進行選擇,設置完畢之后點擊開始,就可以開始暴力破解:

![Uploading github.pages_3_brutard7_653421.png . . .]

Paste_Image.png

接下來我們介紹另一款軟件WebCruiser Web Vulnerability Scanner ,這是一款相對綜合的軟件,包括常見的Sql注入、XSS檢測等功能,其中的暴力破解模塊也非常強大!
這款軟件自帶web界面,我們可以直接在url一欄中輸入攻擊網址,並做一次任意用戶名密碼的登錄提交,之手點擊Resend按鈕,可以看到已經自動對之前操作進行抓包:

之后在點擊右側的Bruter按鈕,會直接跳轉到Bruter界面,同樣需要的參數都已經自動填好,設置好字典就可以開始破解了:

暴力破解就暫時講到這里,之后有時間會對這篇文章進行修改和優化,如果有什么問題歡迎留言!


免責聲明!

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



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