W13Scan 掃描器挖掘漏洞實踐

湯青松發表於2020-12-03

一、背景

這段時間總想搗鼓掃描器,發現自己的一些想法很多前輩已經做了東西,讓我有點小沮喪同時也有點小興奮,說明思路是對的,我準備站在巨人的肩膀去二次開發,加入一些自己的想法,從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視窗”選項,我們點選該選項,如下圖所示

進入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

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章