W13Scan 掃描器挖掘漏洞實踐
一、背景
這段時間總想搗鼓掃描器,發現自己的一些想法很多前輩已經做了東西,讓我有點小沮喪同時也有點小興奮,說明思路是對的,我準備站在巨人的肩膀去二次開發,加入一些自己的想法,從freebuf
中看到W13Scan
掃描器,覺得這個掃描器很酷,準備深入研究。
因為我是做PHP開發的,對python不算太熟悉,所以在安裝過程中出現了一些問題,把解決方法記錄下來,給需要的人一個參考吧。
二、安裝python
W13Scan
是基於python3
開發的掃描器,要執行它我們需要安裝python3.5
以上版本,可以從python
官網下載安裝,我這裡安裝的是python3.6
,安裝之後開啟CMD視窗,執行python
pip
命令,看看是否自動加入到了環境變數,如下圖所示在上圖中可以看到,python
安裝目錄還沒有加入到環境變數,因此pip
命令沒有找到,我們找到python
的安裝目錄,將上方的python路徑複製出來,
並開啟右擊我的電腦,找到高階設定,環境變數裡面,如下圖所示
在上圖中,我已經將python
的目錄和pip
的路徑新增到系統的path
項中,接下來我們重新開啟一個cmd
視窗,再次執行一下pip命令,如下圖所示
從上圖中可以看到,我已經成功將pip目錄新增到環境變數中
三、安裝依賴
接下來我們需要將W13Scan
的模組安裝下來,找到剛才下載的專案目錄,在Windows10
系統中按住shift
進入powershell視窗後,我們執行pip install -r /requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
命令,如下圖所示
命令執行後,可能會有部分模組安裝不上,需要你去python
官網手動下載對應模組的原始碼去安裝,如下圖所示
如果遇到上圖這種情況不要沮喪,有一種快速的解決辦法,我們使用pycharm
編輯器,可以快速解決這個問題,如下圖所示
在上圖中,可以看到使用pycharm
開啟requirements.txt
requirements.txt
時候,會自動將所需要安裝的都列出來,這個時候我們可以一次安裝所有的依賴模組,如下圖所屬
在上圖中我們將模組勾選後,然後按下install
按鈕,就可以安裝所有模組
四、開始執行
在安裝好依賴模組後,就可以開始運行了,執行有兩種模式,主動掃描和被動代理,我這裡就以主動掃描為例,要先準備一個帶有引數的URL地址,這個地址我是從谷歌搜尋的,搜尋關鍵詞如下所示
inurl: php id=
搜尋結果的結果如下所示
在上圖中可以看到搜尋出來的URL
地址,都帶有id=1
類似的引數,我們隨意找出幾個URL
地址用來測試,執行命令如下
python W13SCAN\w13scan.py -u "http://www.crammed.be/index.php?id=7"
執行結果如下圖所示
在上圖中可以看到,已經掃描到了URL
中的SQL
注入漏洞,並提示了儲存路徑,我們按照路徑開啟相應的檔案就可以看到掃描結果,如下圖所示
在上圖中可以看到掃描結果中顯示了,poc
的名稱以及指令碼路徑,掃描的URL
地址;掃描的結果和傳送的資料包以及返回的資料包
五、閱讀原始碼
W13Scan
掃描器完全開源,我準備深入學習並站在巨人的肩膀上開發,因此準備去深度學習原始碼,在讀原始碼的過程中發現pycharm
提示了錯誤資訊,但是卻不影響執行,如下圖所示
在上圖中可以看到lib
模組出現紅色警告,提示該模組找不到,原因是因為我們使用pycharm
開啟的目錄錯了,我們應該要開啟的的專案目錄是從GitHub下載下來的子資料夾W13SCAN
目錄
在上圖中,我們用pycharm
重新開啟此目錄,然後再次開啟w13scan.py
檔案,效果如下所示
在上圖中可以看到,已經不再出現紅色警告,我們也可以用滑鼠+ctrl
跳轉原始碼
作者:湯青松
日期:2020-12-03