😉

【セキュリティ】反射型クロスサイトスクリプティング(Reflected XSS) とは

に公開

1.はじめに

クロスサイトスクリプティング(XSS)とは、Webサイトの脆弱性を悪用し、ユーザーのブラウザ上で不正なスクリプトを実行させるサイバー攻撃です。
反射型クロスサイトスクリプティング(Reflected XSS)は、ユーザーが入力した内容がサーバーを経由して、そのまま画面に表示されるときに発生する脆弱性を利用したサイバー攻撃です。
攻撃者は、偽メールや偽サイトに不正なスクリプトを含んだリンクを用意し、脆弱性のあるWebサイトにユーザーを誘導します。ユーザーのブラウザで不正なスクリプトを実行させ、情報の詐取やマルウェア感染といった被害を引き起こします。

2.実際にやってみた

・検証サイト:Lab: Reflected XSS into HTML context with nothing encoded
・使用ブラウザ:Google Chrome(バージョン: 132.0.6834.110)

〇手順1.
検索バーに、任意の文字列を入力してみます。

入力した文字列が返ってきました。

〇手順2.
ソースコードを確認する為に、デベロッパーツールを開きます。

検索バーに入力した文字列と関係するソースコードが見つかりました。

<h1>0 search results for 'TESTtest'</h1>

〇手順3.
検索バーに、scriptタグを入力してみます。

〇手順4.
ソースコードを確認する為に、再度デベロッパーツールを開きます。

検索バーに入力したscriptタグと関係するソースコードが見つかりました。

<h1>0 search results for '<script>TESTtest</script>'</h1>

〇手順5.
ブラウザのアドレスバーに表示されているURLの TESTtest の前に、以下のscript タグを追加します。

<script>prompt("Please enter your password")</script>

〇手順6.
scriptタグ追加後に [Enter] キーを押下すると、以下のようになりました。

3.参考

クロスサイトスクリプティング(XSS)とは?攻撃の被害と対策
クロスサイトスクリプティング(XSS)とは?仕組み・被害・事例を図解で解説
PortSwigger Labs Walkthrough - Reflected XSS into HTML context with nothing encoded

4.注意

この記事で紹介した内容は、特別に用意されている検証用サイトに対して行いました。
企業・団体等に対し攻撃すると、違法行為として処罰される可能性があります。

Discussion