XSStrike源碼閱讀(1)——目錄結構與大體架構

目錄結構

  • 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(主文件)
    主文件做的事其實也很簡單,就是處理命令行參數,然後根據用戶輸入的命令行參數(開關)來調用相關函數

掃描器架構

下圖是我整理的一個掃描器大概的工作圖譜,比較粗略,後續文章將會就一些重點函數或文件進行細緻解讀
架構

記錄我學到的,分享我學到的
關注網絡安全

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