<wbr id="juant"></wbr>
  • <wbr id="juant"></wbr>
    更多課程 選擇中心


    Python培訓

    400-111-8989

    使用Python對HTTP摘要認證進行暴力測試

    • 發布:州的先生
    • 來源:州的先生
    • 時間:2017-12-01 15:03

    1、本篇概要

    HTTP摘要認證

    Python密碼暴力探測器中支持HTTP摘要認證

    2、HTTP摘要認證

    在上一篇利用Python進行Web滲透測試(十一):使用Python編寫一個密碼攻擊測試器中我們介紹了HTTP的基本認證,也了解了HTTP基本認證的一些缺點和不足。

    作為一個認證方式,HTTP基本認證的最大不足就是安全性不夠。首先是它使用的Base64編碼加密簡直弱爆了而且明文傳輸容易被攔截竊取;其次,HTTP基本認證有一個搞笑的Bug,就是使用其登錄之后,登錄狀態會一直保存著,除非關閉了瀏覽器或清除瀏覽器緩存;還有一個就是基本認證容易遭受到重放攻擊(攻擊者發送一個目的主機已接收過的包,來達到欺騙系統的目的)

    為了彌補以上基本認證的種種不足,在HTTP1.1中,定義了一個HTTP摘要認證(Digest Authentication)。

    HTTP摘要認證的原理與基本認證很相似,都是由客戶端發出一個沒有認證的請求,之后服務器響應一個帶有www-Authenticate頭的響應,指明請求需要的認證。

    與基本認證不同之處在于,摘要認證使用MD5算法對用戶名和密碼加隨機數進行哈希。

    通過對用戶名和密碼進行哈希,可以實現密碼的隱藏,而加入隨機數,則避免的重放攻擊。

    對HTTP摘要認證的介紹就點到為止,需要更加詳細的介紹的同學可以查看《HTTP權威指南》這本書,公眾號回復關鍵字“http”

    下面,我們看看如果對提高了安全等級的HTTP摘要認證進行密碼暴力測試。

    3、暴力密碼測試HTTP摘要認證

    熟悉requests模塊的同學應該知道requests模塊提供了基于多種身份認證的支持,上一篇對基本認證的測試也是通過requests模塊中的屬性進行的。

    requests模塊的對身份認證的支持通過auth子模塊來提供。

    通過下面的代碼,就可以完成一個HTTP摘要認證(示例來源于官方文檔):

    在此,我們借助于requests的auth模塊,改進一下我們的密碼暴力測試器,添加對HTTP摘要認證的支持。

    首先在上一版代碼的基礎上引入requests模塊的auth子模塊:

    因為我們要同時支持基本認證和摘要認證,需要一個參數能夠指定認證的方法。所以,需要添加一個參數-m,首先在usage()函數中添加:

    接著還需要對request_performer()類添加一個method參數,在run()方法中添加一個對method的判斷:


    然后在start()函數中添加接受method參數:

    同時用于啟動線程的launcher_thread()函數也需要將method參數添加進去:

    4

    驗證新的程序

    代碼修改完成后,我們來測試一下新的程序。

    我們已經知道了http://www.scruffybank.com/Admin/這個鏈接是使用的基本認證,那么其他的鏈接呢?我們可以在請求頭中進行判斷的:

    先看看http://www.scruffybank.com/Admin/的請求頭:

    再看看我們在編寫資源探測器中 http://zmister.com/archives/180.html 發現的robots.txt文件中禁止搜索引擎爬蟲爬取的鏈接:/backoffice

    我們訪問它,發現也需要登錄認證,那就跑一遍我們的新密碼暴力測試器吧:

    我們首先使用基本認證方式試試,在命令行運行:


    結果并沒有測試出密碼來,我們再換成摘要認證的方式:


    誒,提示我們發現了密碼:admin123,看來已經成功了。我們使用這個密碼在網頁上登錄看看:

    登錄成功了,我們在請求頭中看看:


    這確實是一個使用了HTTP摘要認證方式進行認證的頁面。

    這樣,我們就完成了我們的密碼暴力測試器的新功能添加——支持HTTP摘要認證。

    本文內容轉載自網絡,本著分享與傳播的原則,版權歸原作者所有,如有侵權請聯系我們進行刪除!

    預約申請免費試聽課

    填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

    上一篇:python生成二維碼的實例詳解
    下一篇:Python編程開發時的幾個小技巧

    2021年Python面試題及答案匯總詳解

    python數據分析,你需要這些工具

    Python培訓講解二叉樹的三種深度

    Python培訓:如何實現窮舉搜索?

    • 掃碼領取資料

      回復關鍵字:視頻資料

      免費領取 達內課程視頻學習資料

    • 視頻學習QQ群

      添加QQ群:1143617948

      免費領取達內課程視頻學習資料

    Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

    選擇城市和中心
    黑龍江省

    吉林省

    河北省

    湖南省

    貴州省

    云南省

    廣西省

    海南省

    天天日天天射天天干天天伊|奇米电影|奇米网_奇米首页|奇米首页 百度 好搜 搜狗
    <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>