您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關使用Python怎么實現一個資源探測器,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
首先,引入相關的模塊:
requests,用于請求目標站點;
threading,用于啟用多線程;
sys,用于解析命令行參數;
getopt,用于處理命令行參數;
然后,定義一個程序的橫幅:
這個橫幅用于在程序啟動的時候顯示出來,除了讓程序個性一點之外,也沒啥用。
再定義一個函數,用來顯示程序的用法:
我們的程序因為是在命令行下運行的,所以需要設置一些參數,在這里,我們用:
-w來指定網址
-t 來指定線程數
-f來指定字典文件
這三個參數缺一不可。
這兩個函數創建好后,運行程序便會出現如下界面:
看上去是不是有那么點意思。
接著,我們創建一個繼承于Thread的類request_performer(),用于創建線程并向目標站點發起請求以及獲取響應:
在request_performer()類的run()方法里面,我們利用requests對URL進行請求并將響應的狀態碼打印出來。而這,就是我們這個探測器的最主要功能了。
再創建一個啟動request_performer()類的函數launcher_thread(),用于遍歷字典文件中的關鍵字組合成URL并生成新的線程。
繼續創建一個函數start(),用于接收命令行中的參數將其傳遞給launcher_thread()函數:
最后,當然是在主程序中運行了:
咱們這個程序到底有什么用呢?
在這里,我們不得不再提一下上面提及過的FUZZDB數據庫。fuzzdb是一個用于模糊測試的數據庫,類似于一個龐大的字典。而這些字典的內容呢,都是安全大神們維護的、在實踐中發現很有可能會是攻擊點的目錄或路徑。
我們可以打開數據庫中的一個txt文件看看:
這是一個針對wordpress博客系統插件的一個字典,這里面都是插件的路徑和目錄。
測試暴力探測器
還記得在滲透測試環境搭建那篇文章介紹的虛擬機環境嗎?里面有一個充滿漏洞的Web應用http://www.scruffybank.com/,我們可以使用我們剛剛編寫好的暴力探測器對這個網站進行一下探測。
字典文件我們先采用一個簡單的字典:
我們在命令行運行命令:
得到結果:
common.txt字典中有三個是成功的響應,我們打開其中一個http://www.scruffybank.com/robots.txt看看:
包含了三個禁止搜索引擎爬取的鏈接,看字面意思,其中一個還是后臺地址admin,但是在結果頁我們知道/admin是404錯誤,但是有一個/Admin,我們打開看看:
彈出了認證登錄框,但是我們沒有用戶名和密碼,目前來說只能作罷。
我們再使用FUZZDB數據庫里的字典測試一下。選擇fuzzdb-master/discovery/predictable-filepaths/php目錄下的PHP.fuzz.txt:
同樣在終端命令行運行命令:
得到結果:
雖然有很多404,但是我們還是發現了一些成功的響應。
比如info.php,打開原來是PHP的info界面:
login.php為登錄頁面:
關于使用Python怎么實現一個資源探測器就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。