這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)怎么對Python滲透測試探測器的改善,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
為平樂等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及平樂網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站制作、網(wǎng)站設(shè)計、外貿(mào)網(wǎng)站建設(shè)、平樂網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
改善探測器的結(jié)果顯示
在這個0.1的版本中,我們只是將網(wǎng)址和其響應(yīng)狀態(tài)碼打印到終端中,命令行中黑底白字的顯示,似乎很不美觀也不容易找出重點信息。有什么辦法可以改善一下呢?
我們可以借助于一個模塊——termcolor,一個用于將輸出進(jìn)行顏色格式化的工具。
我們來看看termcolor的一個官方示例:
運行代碼,會在終端輸出帶有顏色的字符:
從上面的示例我們可以知道,使用termcolor的colored()方法,可以將普通字符格式化為帶有顏色的字符,cprint()方法則可以直接打印出特定顏色的字符。
termcolor自帶了八種顏色供我們使用,分別是:
grey:灰色
red:紅色
green:綠色
yellow:黃色
blue:藍(lán)色
magenta:品紅色
cyan:青色
white:白色
在探測器中,我們使用colored()方法對狀態(tài)碼進(jìn)行顏色格式化。除了添加顏色的顯示外,在結(jié)果中僅僅顯示URL的狀態(tài)碼似乎有點單調(diào),我們再添加幾個結(jié)果顯示:
網(wǎng)頁文本的行數(shù);
網(wǎng)頁文本的字符數(shù);
網(wǎng)頁中的詞數(shù);
網(wǎng)頁內(nèi)容的哈希值;
接下來,我們將顏色格式化和新的結(jié)果顯示添加到request_performer()類中:
我們設(shè)置狀態(tài)碼在大于等于200小于300為綠色,大于等于400小于500為紅色,大于等于300小于400為藍(lán)色。
在終端中運行命令:
可以看到顯示出來的結(jié)果清晰明了很多了:
添加新的功能選項
在上面的示例中,我們將探測器的顯示結(jié)果優(yōu)化了一下,使其更加美觀。但是,還有一個問題——404頁面的處理。
在字典文件小、字典條目少的情況下,即使我們的探測器探測出很多的404頁面,在結(jié)果中也容易排除開來。但是如果字典的條目很多,探測出來的404頁面也會很多,在命令行界面就會掩蓋了成功的響應(yīng)。我們需要將404頁面從結(jié)果中剔除掉。
由404頁面問題延伸開來,我們的功能的需求就是:通過命令行關(guān)鍵字參數(shù)指定,去除某個響應(yīng)狀態(tài)碼的顯示結(jié)果。
在request_performer()類中,新添加一個屬性hidecode:
然后在request_performer()類中排除響應(yīng)狀態(tài)碼為hidecode的請求結(jié)果:
如果響應(yīng)狀態(tài)碼不等于指定剔除的狀態(tài)碼,就打印結(jié)果。
再在啟動函數(shù)start()中設(shè)置新功能的命令行參數(shù):
接著,完善 launcher_thread()函數(shù):
所有的函數(shù)就修改完畢。
測試新功能
改好了代碼,我們來測試一下新的功能。目標(biāo)站點同樣選用虛擬機(jī)環(huán)境中的靶機(jī)http://www.scruffybank.com/,common.txt作為字典文件。
因為我們在start()函數(shù)里面設(shè)置了hidecode的默認(rèn)值為000,所以我們新增的-c選項不加也可以運行。
先看看不加-c選項的結(jié)果:
和第二版的程序效果一致:
我們再加上-c選項排除404頁面:
所有狀態(tài)碼為404的頁面都沒有顯示出來:
我們打開其中一個網(wǎng)址看看:
三個字母加一個換行符一共4個字符、1行文本、1個詞數(shù),與探測器返回的結(jié)果相同。
這樣我們的探測器更新到第三版,功能也越來越豐富了。
上述就是小編為大家分享的怎么對Python滲透測試探測器的改善了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。