Kali Linux 2021.1でXSStrikeを使用しクロスサイトスクリプティング(XSS)の脆弱性を検出する
スポンサーリンク
Kali Linux 2021.1でXSStrikeを使用しクロスサイトスクリプティング(XSS)の脆弱性を検出することについて解説しています。
XSStrike(https://github.com/s0md3v/XSStrike)は、クロスサイトスクリプティング(XSS)の脆弱性を検出するために使用される高速なクローラーを備えた高度なWebアプリケーション侵入テストツールです。このツールは本来の機能の他に、クローリング、ファジング、パラメータディスカバリー、WAFの検出機能も備えています。また、DOM XSSの脆弱性をスキャンすることもできます。
なお、サイバーセキュリティ対策や情報セキュリティ教育が目的でツールを利用しますので、悪用・違法行為が目的はございません。ツールを利用することで発生したトラブルや損失、損害(ウイルス感染など)に対して、一切責任を負いません。
■PC環境
Windows 10 Pro
VirtualBox6.1
Kali Linux 2021.1(Debian (64-bit),Python3.9.2)
■Kali Linuxを起動する
クリックすると、Kali Linuxが起動します。起動後、ログイン画面が表示されますのでユーザIDとパスワードを入力し「Log in」ボタンをクリックします。
クリックすると、Kali Linuxにログインすることができました。
ログイン後、上部メニューになる「ターミナルエミュレーター」をクリックし、ターミナルを起動します。
$sudo su
起動後、上記のコマンドを入力し、Enterキーを押します。スーパーユーザ(root)権限に切り替えます。
■XSStrikeのインストール
#git clone https://github.com/s0md3v/XSStrike
切り替えた後に、上記のコマンドを入力し、Enterキーを押します。リポジトリをクローンします。
Cloning into 'XSStrike' ... remote: Enumerating objects: 1629, done. remote: Total 1629 (delta 0), reused o (delta 0), pack-reused 1629 Receiving objects: 100% (1629/1629), 1.14 MiB 1.12 MiB/s, done. Resolving deltas: 100% (954/954), done.
#cd XSStrike
クローン後、上記のコマンドを入力し、Enterキーを押します。「XSStrike」ディレクトリに移動します。
#pip3 install –r requirements.txt
移動後、上記のコマンドを入力し、Enterキーを押します。依存関係(python-Levenshtein,prettytable,requests,tld,fuzzywuzzy)をインストールします。Enterキーを押すと、インストールが開始され、「Successfully installed」と表示されれば、完了となります。
■XSStrikeのインストール確認
#python3 xsstrike.py –h
完了後、上記のコマンドを入力し、Enterキーを押します。インストール確認のために、ヘルプを表示してみます。
Enterキーを押すと、ヘルプが表示されます。今回はXSStrikeのバージョン3.1.4を使用します。
これでインストールの確認は完了となります。
■対象からXSSの脆弱性を見つける
#python3 xsstrike.py –u <ターゲットWebアプリケーション,Webサイト>
完了後、上記のコマンドを入力し、Enterキーを押します。XSStrikeを使用し、対象からXSSの脆弱性を見つけてみます。今回はセキュリティ教育のため、当サイト(https://laboratory.kazuuu.net/)を指定します。
Enterキーを押すと、「Check for DOM vulnerabilities(DOMの脆弱性をチェックする)」と表示され、DOMの脆弱性のチェックが開始されます。
開始後、「Potentially vulnerable objects found(潜在的に脆弱なオブジェクトが見つかる)」と表示されました。その後、コードが出力され、潜在的に脆弱なオブジェクトの部分が赤色などで表示されます。
表示された後に、XSSの脆弱性チェックが完了し、XSStrikeの起動が終了します。今回セキュリティ教育のため、当サイト(https://laboratory.kazuuu.net/)を指定しましたが、潜在的に脆弱なオブジェクトが見つかりましたので、対処方法を考えて講じます。