用Python打造了乙個滲透測試暴力探測器

2022-07-02 19:06:10 字數 1450 閱讀 8996

乙個開源的模糊測試資料庫

是乙個開源的漏洞注入和資源發現的原語字典。其提供了攻擊、資源發現和響應分析的資源。

第乙個暴力探測器

這個資料庫將會在我們之後的工作中擔任「字典」的工作,來輔助我們完成對**的探測。現在我們需要新建乙個 .py 檔案,在這個檔案中編寫探測器。

然後,定義乙個程式的橫幅:

這個橫幅用於在程式啟動的時候顯示出來,除了讓程式個性一點之外,也沒啥用。

再定義乙個函式,用來顯示程式的用法:

我們的程式因為是在命令列下執行的,所以需要設定一些引數,在這裡,我們用:

這三個引數缺一不可。

這兩個函式建立好後,執行程式便會出現如下介面:

看上去是不是有那麼點意思。

接著,我們建立乙個繼承於thread的類request_performer(),用於建立執行緒並向目標站點發起請求以及獲取響應:

在request_performer()類的run()方法裡面,我們利用requests對url進行請求並將響應的狀態碼列印出來。而這,就是我們這個探測器的最主要功能了。

再建立乙個啟動request_performer()類的函式launcher_thread(),用於遍歷字典檔案中的關鍵字組合成url並生成新的執行緒。

繼續建立乙個函式start(),用於接收命令列中的引數將其傳遞給launcher_thread()函式:

最後,當然是在主程式中執行了:

在這裡,我們不得不再提一下上面提及過的fuzzdb資料庫。fuzzdb是乙個用於模糊測試的資料庫,類似於乙個龐大的字典。而這些字典的內容呢,都是安全大神們維護的、在實踐中發現很有可能會是攻擊點的目錄或路徑。

我們可以開啟資料庫中的乙個txt檔案看看:

這是乙個針對wordpress部落格系統外掛程式的乙個字典,這裡面都是外掛程式的路徑和目錄。

還記得在滲透測試環境搭建那篇文章介紹的虛擬機器環境嗎?

裡面有乙個充滿漏洞的web應用我們可以使用我們剛剛編寫好的暴力探測器對這個**進行一下探測。

字典檔案我們先採用乙個簡單的字典:

我們在命令列執行命令:

得到結果:

common.txt字典中有三個是成功的響應,我們開啟其中乙個看看:

彈出了認證登入框,但是我們沒有使用者名稱和密碼,目前來說只能作罷。

我們再使用fuzzdb資料庫裡的字典測試一下。選擇fuzzdb-master/discovery/predictable-filepaths/php目錄下的php.fuzz.txt:

同樣在終端命令列執行命令:

得到結果:

雖然有很多404,但是我們還是發現了一些成功的響應:

比如info.php,開啟原來是php的info介面:

login.php為登入頁面:

phpmyadmin是mysql資料庫的web管理入口:

在資料探測收集階段,我們通過我們自己編寫的暴力探測器,獲得了這些頁面的資訊,對分析伺服器和web應用的漏洞並進行針對性的滲透有很大的幫助。

用Python打造乙個CRM系統 三

本地初始化之前先確保環境先安裝了python3.8 postgresql,並建立了乙個虛擬環境。安裝依賴庫 基於cookiecutter django建立的專案需要安裝一些第三方庫,本地的依賴列表在requirements local.txt中,安裝命令如下 pip install r requir...

mysql簡單壓測 運了乙個維

mysqlslap options 常用引數 options 詳細說明 auto generate sql,a 自動生成測試表和資料,表示用mysqlslap工具自己生成的sql指令碼來測試併發壓力。auto generate sql load type type 測試語句的型別。代表要測試的環境是...

用python建模 用Python建模乙個線性系統

我知道這有點舊,但搜尋引起了我的這個問題。當我找不到乙個好的模組時,我把它放在一起。這並不多,但如果有人發現他們在這裡,這是乙個好的開始。import matplotlib.pylab as plt import numpy as np import scipy.signal def bode g,...