XSStrike - 公開前にチェック。CUIでXSSを見つける
XSS(クロスサイトスクリプティング)はWebシステム開発者としては特に注意していることでしょう。今なお、大事なファイルが平文で保存されていたとか、脆弱性をついてユーザデータをすべて抜き取られたといった問題はXSSによって起こされています。 そんなXSSをチェックできるのがXSStrikeです。XSStrikeを使ってテストすることでセキュアなWebサイトを実現できるでしょう。
XSStrikeの使い方
XSStrikeはURLとパラメータなどを送信して、XSSが認められないか確認します。
$ python xsstrike.py --url https://www.moongift.jp/ --data q=test
XSStrike v3.0.5
Checking for DOM vulnerabilities
WAF Status: Offline
Testing parameter: q
No reflection found
XSStrikeのオプションです。データだけでなくヘッダーやプロキシ、ファイルなど様々な情報を送信できます。
$ python xsstrike.py
XSStrike v3.0.5
usage: xsstrike.py [-h] [-u target] [--data paramdata] [-e encode] [--fuzzer]
[--update] [--timeout timeout] [--proxy] [--params]
[--crawl] [--seeds args_seeds] [-f args_file] [-l level]
[--headers] [-t threadcount] [-d delay] [--skip]
[--skip-dom] [-v] [--blind]
optional arguments:
-h, --help show this help message and exit
-u target, --url target
url
--data paramdata post data
-e encode, --encode encode
encode payloads
--fuzzer fuzzer
--update update
--timeout timeout timeout
--proxy use prox(y|ies)
--params find params
--crawl crawl
--seeds args_seeds load crawling seeds from a file
-f args_file, --file args_file
load payloads from a file
-l level, --level level
level of crawling
--headers add headers
-t threadcount, --threads threadcount
number of threads
-d delay, --delay delay
delay between requests
--skip don't ask to continue
--skip-dom skip dom checking
-v, --vectors verbose output
--blind inject blind xss payload while crawling
XSStrikeは指定したURLにリクエストして、その結果を確認するというものです。CUIなので自動化もしやすいでしょう。ステージングなどのシステムに対して定期的に実行するようにすれば、何か問題があっても未然に解決できることでしょう。
XSStrikeはPython製のオープンソース・ソフトウェア(GPL)です。
XSStrike s0md3v/XSStrike: Most advanced XSS detection suite.