【注意】このサイトに記載されていることを他人に試すことは「不正アクセス禁止法」に該当する場合があります。詳しくはこちらから

なぜ、ハッカーはBurp Suiteを利用するのですか?(4) Stored XSSの脆弱性を発見する方法の操作

Burp Suiteの利用

ハッカーは、ユーザーの個人情報を盗んだり、偽のページに誘導させるために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の操作が入り、パラメータの変更を行いました。
使い方も徐々に慣れてきたのではないでしょうか。
便利な機能であることを理解して頂いたと思います。