您好,登錄后才能下訂單哦!
這篇文章主要介紹“怎么給Python滲透測試探測器添加截圖功能”,在日常操作中,相信很多人在怎么給Python滲透測試探測器添加截圖功能問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么給Python滲透測試探測器添加截圖功能”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
本篇概要
Selenium與PhantomJS
為滲透測試探測器添加截圖功能
測試新功能
在前面文章中,我們使用Python編寫了一個滲透測試探測器,從fuzz數據庫中獲取字典信息,利用requests模塊請求拼接組裝的URL,從而獲得URL的響應內容,并借助termcolor模塊將整理后的信息打印出來。
現在我們又有了一個不成熟的想法,不知道當不當說。
在正常的Web滲透測試中,我們在探測完一個網站,獲取到所有的探測結果之后,肯定要看看請求成功的鏈接的網頁是長什么樣子的。如果URL過多,一個一個去點擊的話,就太浪費時間了。所以我們需要獲取到網頁的截圖,方便探測完之后,查看網頁。
Selenium與PhantomJS
要對請求的網頁進行截圖,這樣的操作,requests大概是沒轍了。這時候,我們需要使用到另一個工具——Selenium,一個專門用于Web自動化測試的模塊。
其能夠借助瀏覽器內核驅動,實現瀏覽器的各種動作。在Python中,我們通過pip可以輕易的進行安裝:
Selenium可以使用多種瀏覽器內核,比如主流的Chrome、 Firefox等,但在這里,我們使用另一個非主流的瀏覽器——PhantomJS,一個無頭瀏覽器。除了沒有圖形界面外,擁有其他主流瀏覽器的所有功能。
我們可以在命令行使用phantomjs,自然也可以在Python中使用Selenium來調用phantomjs:
這樣,就實現了使用PhantomJS作為Selenium調用的瀏覽器內核了。
在實例化一個webdriver后,使用get()方法,可以訪問一個URL:
使用save_screenshot()方法,可以保存頁面的截圖。
關于Selenium的其他運用,可以參見博客的其他文章,或是網絡上的資料。在此,我們主要使用到這兩個方法。
添加網頁截圖功能
了解到使用Selenium進行網頁請求和截圖的方法后,我們就可以為我們的滲透測試探測器添加新功能了。
當然,肯定不是每個頁面都需要保存網頁的截圖,我們對請求成功的頁面進行截圖,也就是響應的狀態碼大于等于200小于300的網頁才需要截圖。
下面修改一下request_performer()類中的run()方法:
我們主要添加了4行代碼:
實例化一個webdriver,請求url,等待3秒,設置瀏覽器窗口大小,保存網頁截圖。
測試網頁截圖功能
修改好代碼之后,我們可以測試一下我們的第4版本的滲透測試探測器了。
在命令行終端運行命令:
運行完成,我們看看我們的文件夾:
多出了5個圖片,我們打開一個看看:
與瀏覽器打開的是一樣的:
這樣我們使用Python編寫的滲透測試探測器就基本完善好了。
接下來,我們將會介紹Python Web滲透測試之密碼攻擊!
到此,關于“怎么給Python滲透測試探測器添加截圖功能”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。