XSStrike 原始碼閱讀
XSStrike是一款XSS掃描工具。
Github地址:https://github.com/UltimateHackers/XSStrike
官網:https://xsstrike.tk/
特點如下
- WAF識別與繞過
- 自動POC生成
- 支援GET與POST請求
- 支援Cookie/HTTP認證
- 隱藏引數發現
- Blind XSS 爆破
接下來也主要基於以上特點進行原始碼分析。
原始碼分析
程式初始化
在匯入相關package後,XSStrike進行了一系列的設定初始化工作。按順序梳理如下:
定義顏色引數:
# Just some colors and shit white = '33[1;97m' ..
初始化瀏覽器物件br
,並設定相關引數:
<div class="line">br = mechanize.Browser() <span class="comment"># Just shortening the calling function</span></div>
<div class="line">br.set_handle_robots(<span class="keyword">False</span>) <span class="comment"># Don’t follow robots.txt</span></div>
<div class="line">br.set_handle_equiv(<span class="keyword">True</span>) <span class="comment"># I don’t know what it does, but its some good shit</span></div>
<div class="line">br.set_handle_redirect(<span class="keyword">True</span>) <span class="comment"># Follow redirects</span></div>
<div class="line">br.set_handle_referer(<span class="keyword">True</span>) <span class="comment"># Include referrer</span></div>
<div class="line">br.addheaders = [(<span class="string">’User-agent'</span>, <span class="string">’Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1′</span>),</div>
<div class="line">(<span class="string">’Accept-Encoding'</span>, <span class="string">’deflate'</span>), (<span class="string">’Accept'</span>, <span class="string">’text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q</span></div>
<div>