なぜ、ハッカーはBurp Suiteを利用するのですか?(4) Stored XSSの脆弱性を発見する方法の操作
ハッカーは、ユーザーの個人情報を盗んだり、偽のページに誘導させるためにStored XSSを利用します。
今回は、少しですがBurp Suiteの機能を利用します。
Stored XSSとは
Stored XSSは、攻撃者が悪意のあるスクリプト(プログラム)をウェブサイトに埋め込む攻撃です。このスクリプトが実行されると、ユーザーの個人情報が盗まれたり、偽のページに誘導されたりすることがあります。
Stored XSSの特徴として
攻撃者が悪意のあるスクリプトをウェブサイトに送信すると、そのスクリプトはデータベースやファイルに保存されます。保存されたスクリプトは、サイトを訪れる他のユーザーがページを開くたびに実行されます。これにより、多くのユーザーが影響を受ける可能性があります。
一番良い例としてSNSのコメント機能があります。
もし、このSNSのコメント機能の画面を開いたら、下図のような悪意のあるページや、偽りのページに移動すると怖いですね。
Stored XSSの脆弱性を見つけるためのテスト環境について
「やられサーバー」と「Burp Suite」の環境が無い方は、こちらをご覧ください。
・やられサーバーを作成される方は、こちらをご覧ください。
・WindowsにBurp Suiteをインストールされる方は、こちらをご覧ください。
DVWAのXSS(Stored)の動作の確認
DVWAのXSS(Stored)の動作を見てみましょう。
SNSのコメント機能に名前とメッセージを入力して「Sign Guestbook」ボタンを押下すると
下部に入力した情報が表示されます。
Burp Suiteを利用したStored XSSの脆弱性の確認方法
DVWAのStored XSSの脆弱性を確認するために、Burp Suiteを使用する方法をセキュリティレベル(LowとImpossible)ごとに説明します。
Low(低)レベルでの確認方法
1.DVWAのセキュリティレベルの設定は、左サイドバーの「DVWA Security」の画面で行うことができます。このセキュリティレベルLow(低)は完全に脆弱であり、一切のセキュリティ対策がありません。
2.DVWAサイトのセキュリティの設定をLow(低)に設定して、「Submitボタン」を押下します。
3.ブラウザでDVWAの「XSS(Stored)」のページに移動します。
4.Messageのフィールドに、スクリプトを入力します。
今回は、悪意のあるスクリプトとして、自動的にgoogle.comに誘導するスクリプトを入力します。
(※本来は、悪意のあるページに飛ばします。)
スクリプトは
<script>window.location.href=’https://www.google.com/’;</script>
5.Nameは「くろちゃん」、Messageは「<script>window.location.href=’https://www.google.com/’;</script>」を設定します。
6.ここで、問題が発生しました。
Messageにスクリプトを入力したのですが、どうやらプログラムで入力制限がかかっている様子です。
※パラメータが正しく入力できません。
これではテストになりません。
そこでBurp Suiteの機能を利用してテストを行います。
7.Burp Suiteの「Proxy」から「Intercept」画面で「Intercept off」をクリックして「Intercept on」に変更します。
8.それでは、以下の状態で「Sign Guestbook」ボタンを押下します。
9.Burp Suiteの「Proxy」タブ→「Intercept」タブを見てください。
左下の情報が入力したMessageの情報です。
“%E3%81%8F%E3%82%8D%E3%81%A1%E3%82%83%E3%82%93"
“<script>window.location.href=’https://www.google.c"
と入力した情報が設定されています。
画面でMessageの情報が途中で切れていましたが、Burp Suiteの機能で実際に設定したかった情報に変更します。
10.上図、Burp Suiteの画面右の「Inspector」の「Request body parameters」をクリックして下さい。
11.Request body parametersの詳細情報が表示されます。
先ほど、中途半端で入力した情報があるので、「>」ボタンを押下します。
12.「Decoded from:」欄に、先ほど入力したMessageの情報が表示されています。
この情報を本来の情報に書き換えます。
入力が完了したら「Apply changes」ボタンを押下して書き込みます。(※パラメータの内容が書き換わりました。)
13.Burp Suiteの「Proxy」から「Intercept」画面で「Intercept on」をクリックして「Intercept off」に変更します。
すると、処理が進みスクリプトが実行されて、ブラウザはGoogleのページに誘導されました。
14.ブラウザの左上の戻るボタン「←」を押下して、「DVWA」のページに戻ります。
そして、再度「DVWA」の左サイドメニューから「XSS(Stored)」ボタンを押下すると、再びGoogleのページに誘導されます。
これは、有害なスクリプトが保存されて実行されています。
これで「Stored XSS」の脆弱性があることが分かりました。
Impossible(ハッキング不可能)レベルでの確認方法
1.DVWAサイトのセキュリティの設定をImpossible(ハッキング不可能)にします。
このセキュリティレベルのハッキングは極めて難しい設定で、全ての脆弱性に対して安全とされています。
2.ブラウザでDVWAの「XSS(Stored)」のページに移動します。
ここで、先ほどの有害なスクリプトの情報をクリアするために「Clear Guestbook」ボタンを押下します。
有害なスクリプトの情報がクリアされました。
3.これ以降は「Low(低)レベルでの確認方法」の操作を行ってください。
操作の結果は、Google.comに誘導されずに以下のような結果になります。
スクリプトは実行不可能にされていました。
なぜ、ハッカーはBurp Suiteを利用するのですか?(4) Stored XSSの脆弱性を発見する方法の操作のまとめ
今回は、Burp Suiteの操作が入り、パラメータの変更を行いました。
使い方も徐々に慣れてきたのではないでしょうか。
便利な機能であることを理解して頂いたと思います。