目錄結構
- core(目錄)
文件名 | 主要功能 |
---|---|
arjun.py | 發現隱藏的參數 |
broswerEngine.py | selenium瀏覽器引擎,根據彈窗判斷xss是否發生 |
checker.py | 檢查過濾器 |
colors.py | 定義相關顏色變量,這樣在輸出不同類型信息時就可以有不同的顏色 |
config.py | 一些重要配置,默認配置,例如:payloads,fuzzs等 |
dom.py | 搜索dom xss相關特徵 |
encoders.py | 編碼相關函數 |
filterChecker.py | 檢查過濾器 |
fuzzer.py | fuzz測試的核心代碼 |
generator.py | payload生成引擎 |
htmlParser.py | 通過解析html,找出我們的輸入輸出在了哪種環境下 |
jsContexter.py | |
photon.py | 爬取頁面中的表單與鏈接 |
prompt.py | 添加headers時會彈出一個編輯器,默認爲nano |
requester.py | 發送http請求的函數 |
updater.py | 更新時會調用的函數 |
utils.py | 裏面是一些使用的小函數 |
wafDetector.py | 探測waf |
zetanize.py | 爬取頁面中的表單 |
- db(目錄)
文件名 | 主要功能 |
---|---|
wafSignatures.json | waf特徵庫,存儲着各個waf的特徵,可以根據這些特徵去判斷waf |
- modes(目錄)
文件名 | 主要功能 |
---|---|
bruteforcer.py | 暴力測試每個參數 |
crawl.py | 爬行頁面內的所有鏈接 |
scan.py | 掃描功能 |
singleFuzz.py | fuzz測試 |
- xsstrike.py(主文件)
主文件做的事其實也很簡單,就是處理命令行參數,然後根據用戶輸入的命令行參數(開關)來調用相關函數
掃描器架構
下圖是我整理的一個掃描器大概的工作圖譜,比較粗略,後續文章將會就一些重點函數或文件進行細緻解讀
記錄我學到的,分享我學到的