日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DVWA-暴力破解-对‘g0tmi1k’文章的学习笔记

發布時間:2024/4/18 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DVWA-暴力破解-对‘g0tmi1k’文章的学习笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

DVWA-暴力破解-對‘g0tmi1k’文章的學習筆記

    • 概要
    • 事先準備(Linux命令學習)
    • 思想及相關概念
    • 解題過程
      • Hydra
      • Patator
      • Burp Suite
      • 自寫腳本

g0tmi1k的原文地址
博主g0tmi1k(我叫他“搞牛奶”)的這篇文章是在學習DVWA暴力破解模塊時接觸到的,一路看下來發現不僅僅只有關于DVWA的解題步驟,還有很多非常值得初學者學習的其他思路和方法,于是就對這篇文章深入學習一下,記下一些個人覺得非常不錯的要點。該博主的其他博文也非常優秀,是一位大神!
因為我還是個小白,還有很多東西都不會,所以可能記錄的內容略顯繁瑣。

概要

搞牛奶是站在“把DVWA里面的練習內容當作完全的黑盒子”的角度來進行學習的,即除了目標域名和一開始所必須的登入系統的管理員賬號密碼之外,其他地方一律當作不知道(即使可以看源碼也不看),盡可能地逼近著實際的網站漏洞測試情景。

對目標網站進行分析的方式,搞牛奶傾向于盡可能地使用命令行工具(像是ucrl配合grap、sed、awk和diff等),而不是只用瀏覽器。

對于是使用瀏覽器還是命令行,個人認為各自有其優點,例如:

  • 瀏覽器:簡單直觀是其最大的優點,對于數據的發送和接收也是自動的,有助于把注意力完全放在目的上而無需在意過程
  • 命令行:操縱數據直接方便,輸命令就行,而無需在瀏覽器中進行繁瑣的“點點點”;過程可高度定制,可控性強,有助于更好地理解工作過程和原理

作為研究安全地小白,個人認為在學習過程中更應該把重點放在對過程和原理上,而不是單純地為了結果而去解題。所以作為學習漏洞來說,也為了盡可能地學習搞牛奶的思路和觀點,我也盡可能地使用命令行工具進行學習。

(由于用到的工具大多數都不熟,我也是事先花了一定時間去簡單學習了一下,對于Linux小白的我來說也算是受益匪淺!)

事先準備(Linux命令學習)

下面涉及到的工具和Linux命令基礎就不進行介紹和講解使用教程了,網上其他人總結的也比我好(拒絕學習資料在互聯網上無意義地重復,人人有責)。

由于是使用curl工具,cookie和sessionid等的保存工作都需要手動進行(搞牛奶指出,這項工作僅針對DVWA,不一定所有網站都需要這個保存sessionid的過程)。

首先是使用獲取DVWA登錄的token和sessionid:

CSRF=$(curl -s -c dvwa.cookie 'http://www.dvwa.com/login.php' | awk -F 'value=' '/user_token/ {print $2}' | cut -d "'" -f2)

命令解析:

  • curl -s -c 文件名 ‘目標網站’
  • 保存目標網站的cookie到文件中

    結果是回顯登錄的頁面的html源碼,其中有個隱藏的input標簽是user_token,保存著此次會話用戶的token(由于是隱藏的,所以即使使用瀏覽器也不能直接看出來,需要點開控制臺查看源碼,這就體現出了一個使用命令行的優勢,以及啟示我們要關注網頁源碼)。

    同時保存了網站的cookie到本地。

  • awk -F ‘value=’ ‘/user_token/ {print $2}’
  • 對上一步的回顯結果進行逐行查找,查找 “user_token“所在的行,并以”value=“為分隔符對該行進行分割,輸出分割后的第二個值

  • cut -d “’” -f2

  • 對上一步的回顯結果進行字段提取

  • CSRF=$(XXX)
  • 最后對上一步的結果保存到變量CSRF中。

    接著利用token登錄到系統,改變該cookie在目標服務器中的登陸狀態:

    curl -s -L -b dvwa.cookie --data "username=admin&password=password&user_token=${CSRF}&Login=Login" "http://www.dvwa.com/login.php"

    命令解析:
    使用-L允許重定向,-b傳遞cookie,–data傳遞填入表單所需要的參數(用戶名、密碼、token以及點擊登錄)。

    如無意外,將會回顯登陸成功后系統首頁的源碼(包括了You have logged in as 'admin’字樣),并且目標服務器中將會改變該cookie的登陸狀態為成功。

    最后刪除本地cookie中的安全等級字段,為的是可以隨時切換安全等級:

    sed -i '/security/d' dvwa.cookie

    命令解析:刪除文件中“security“字段的所在行

    經過上述步驟之后就可以使用類似下面的命令訪問DVWA中的不同頁面:

    curl -s -L -b 'security=low' -b dvwa.cookie -i 'www.dvwa.com/vulnerabilities/brute'

    其中可以修改security的參數為不同的安全等級,來便捷地訪問同一練習不同難度的頁面。

    獲取到頁面源碼之后,可以使用管道符配合sed或grep等工具來控制輸出,從而只關注頁面中我們關心的部分(推薦上瀏覽器查看源碼來獲取我們關心的標簽部分)。

    例如針對練習頁面我們只想看到實際練習漏洞的部分:

    sed -n '/<div class="body_padded/,/<\/div/p'


    總之后面想怎么操作就怎么操作。

    思想及相關概念

    簡單來講暴力破解和字典攻擊還是有區別的,前者是遍歷可用字符組合,后者是遍歷事先準備好的字典文件,雖然現在一般都默認認為是后者的同一概念。

    暴力破解的速度取決于整個過程中最慢的點。

    從網頁源碼中可以獲取到的信息:

    • 普通頁面、登陸失敗和登錄成功的回顯不同,可以使用curl分別獲取頁面并導出到文件,然后使用diff命令比較不同之處;

    • 可以以上一條所講述的作為判斷破解是否成功的依據,如若失敗可能會有“failed”、“error”或“incorrect”等字樣,成功可能會有“success”等字樣;

    • 在實際的滲透環境中,我們無法事先得知登陸成功所返回的相關參數,所以在這種情況下“黑名單“可能比”白名單“更為適用;

    • 爆破的過程中,最好先盡可能地獲取現已存在的用戶名,有以下參考途徑:

      • 尋找公共賬號
      • 從“忘記密碼“入手
      • “郵箱已被注冊?“
      • 尋找“訪客“用戶
      • 從“幫助“頁面入手
      • 查找網站源碼,查找是否存在默認用戶
      • SQL注入
    • 爆破的線程數和等待時間要設置合理,前者并非越多越好,后者并非越短越好;(網站崩潰了就是DoS了,那還破解個啥呀);

    解題過程

    具體過程就不重復了,下面就記錄自己實操的結果和心得。

    Hydra

    使用Burp代理Hydra那里沒能成功,原因可能與命令格式有關。

    而且不使用代理,Hydra也沒能完成它的破解過程,總是在結果枚舉完成的時候卡住,沒能給出正確結果。

    (個人感覺Hydra還是用來破解常規服務的賬號密碼比較好,類似ssh、telnet或者是ftp之類的,破解具體的網站登陸頁面還是使用別的吧)
    (類似Hydra的還有一個medusa?)

    Patator

    使用patator倒也是可以完成任務,也能正常使用Burp代理來debug

    下面是實際執行的代碼(藍色箭頭是代理,可不要):

    而且參數的傳遞也比Hydra簡單(部分參數的實際名稱可能會變,看幫助文檔)

    (新軟件就是好啊)

    和Hydra有區別的地方在于:

    • 沒有提供“嘗試用戶名/空白/反序密碼作為密碼”的選項,需要在字典文件中實際列出;
    • 而且默認不會遇到正確結果就退出,而是一直遍歷完整個字典文件,因此需要我們自行定義中間的退出點;
    • 而且結果輸出也需要我們自行定義,否則默認顯示所有嘗試結果,這種輸出不會提示哪些是成功的/失敗的,需要通過返回狀態碼和頁面長度判斷。

    Burp Suite

    最后是直接使用Burp的爆破工具,這里主要記下一些使用技巧:

    • 從返回頁面中提取特定值(判斷是否登陸成功):Option->Grep – Extract;
    • 如要針對用戶名和密碼同時爆破,則需要選擇“Cluster bomb”的攻擊模式,然后添加變量,在Payloads選項卡中為每個變量設置payload。

    過程上有點類似于patator,也是默認遍歷整個字典而不會中途停下。

    自寫腳本

    后面搞牛奶還給出了自定義的兩種腳本工具,分別用Bash和Python編寫,都非常值得學習(真好,小白我一不會bash二不熟request,學吐了)(本人優先學request)。

    自寫腳本的好處不用多說,高度定制,針對性強。

    最后是總結:針對實際情況選工具才是上上策。

    總結

    以上是生活随笔為你收集整理的DVWA-暴力破解-对‘g0tmi1k’文章的学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。