Python爬蟲 xunfeng應用詳解

Python爬蟲(十九)

學習Python爬蟲過程中的心得體會以及知識點的整理,方便我自己查找,也希望可以和大家一起交流。

—— xunfeng應用詳解 ——

1.作用

巡風是一款適用於企業內網的漏洞快速應急、巡航掃描系統,通過搜索功能可清晰的瞭解內部網絡資產分佈情況,並且可指定漏洞插件對搜索結果進行快速漏洞檢測並輸出結果報表。

2. 安裝及使用

  1. 點擊巡風源代碼下載巡風。

  2. 巡風支持多平臺安裝,包括windows、linux、OSX、docker。

點擊xunfeng安裝教程查看。

3. 代碼賞析

  1. 任務模塊化,結構化的思維

  2. 項目比較完整

  3. 如何綜合運用之前所學知識

4. 插件編寫

漏洞插件支持2種類型,json標示與python腳本,可以通過官方推送渠道安裝或者自行添加。

JSON標示符
xunfeng應用詳解
Python腳本

插件標準非常簡潔,只需通過 get_plugin_info 方法定義插件信息,check函數檢測漏洞即可。

import ftplib

def get_plugin_info():  # 插件描述信息
    plugin_info = {
        "name": "FTP弱口令",
        "info": "導致敏感信息泄露,嚴重情況可導致服務器被入侵控制。",
        "level": "高危",
        "type": "弱口令",
        "author": "wolf@YSRC",
        "url": "",
        "keyword": "server:ftp",  # 推薦搜索關鍵字
    }
    return plugin_info

def check(ip, port, timeout): # 漏洞檢測代碼
    user_list = ['ftp', 'www', 'admin', 'root', 'db', 'wwwroot', 'data', 'web']
    for user in user_list:
        for pass_ in PASSWORD_DIC:  # 密碼字典無需定義,程序會自動爲其賦值。
            pass_ = str(pass_.replace('{user}', user))
            try:
                ftp = ftplib.FTP()
                ftp.timeout = timeout
                ftp.connect(ip, port)
                ftp.login(user, pass_)
                if pass_ == '': pass_ = 'null'
                if user == 'ftp' and pass_ == 'ftp': return u"可匿名登錄"
                return u"存在弱口令,賬號:%s,密碼:%s" % (user, pass_)  # 成功返回結果,內容顯示在掃描結果頁面。
            except:
                pass

此外系統內嵌了輔助驗證功能:

  • DNS:觸發,nslookup randomstr IP,驗證, http://ip:8088/randomstr ,返回YES即存在。

  • HTTP:觸發,http://ip:8088/add/randomstr ,驗證,http://ip:8088/check/randomstr ,返回YES即存在。

5. mongodb命令

  • 進入mongodb:mongo --port 65521

  • 查看數據庫:show dbs

  • 使用數據庫:use xunfeng

  • 查看錶:show collections

  • 查看錶內容(以Config表爲例):db.Config.find()

  • 退出:exit

  • 幫助:db.help()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章