コラム
TOP >  コラム >  コラム詳細

セキュリティエンジニアの四方山話  第3回 : クロスサイトスクリプティングについて
コラムを書いている間にも、bashの脆弱性に関するニュースや、データ流出のニュース等が目に飛び込んできます。

その危険性を目にして不安に思われる方も多いと思います。

しかし、その原理を知り正確な対策を取れば、危険性を回避する事が可能になります。

今回も、脆弱性の学習を進めていきましょう。


さて、皆さんはこんなニュースを目にした事はないでしょうか?

   ・大手ショッピングサイト、サイト改ざんによる偽のリンクを混入される被害に
   ・大手ゲームサイト、成りすましによる不正利用の被害に

正規のサイトとよく似た不正サイトへ誘導し個人情報を搾取されたり、ログイン後のセッションを攻撃者に取得され、成りすましに利用されたりなど思わぬ被害にあう事も考えられます。

このような被害を及ぼす脆弱性が今回取り上げる、クロスサイトスクリプティング(XSS)という脆弱性です。





クロスサイトスクリプティングとは?

クロスサイトスクリプティングとは、HTMLを生成する際にユーザから入力された値をそのまま用いてしまう仕様により、攻撃者にスクリプトを注入する事を許してしまう脆弱性となります。





クロスサイトスクリプティングが生まれる仕組みとは?

では、実際にどのようにして攻撃者が攻撃するかを確認しましょう。

以下は、よくある検索機能のTOP画面です。(URLは、例示用のものとなります)


堀井 明央
バルテス・モバイルテクノロジー株式会社(http://www.valtes-mt.co.jp) のセキュリティエンジニア。Webアプリやモバイルアプリのセキュリティ診断を担当し、際限のない好奇心で脆弱性の検出に日々明け暮れている
この検索機能で「テスト」と検索すると、以下の画面が生成されるとします。
ここで、生成された画面に「テストの検索結果」という検索キーワードが表示されていますね。

この部分を、ソースレベルで見ると以下の通りになっています。

              
<body>テストの検索結果<body>
              


仮にこの検索機能がユーザから入力された値をそのまま利用し、画面が生成されている場合、攻撃者は被害者にリンクを踏ませるなどして以下のような値を検索させます。
(赤字部分が)

              
<body>テスト<script>alert(”xss”)</script>の検索結果</body>
              


ブラウザ上でHTMLが解釈されるとscriptタグがそのまま機能し、以下のように「XSS」というメッセージが入ったアラートウィンドウが表示される事になります。

1| 2| 3

>

>>



第2回 第4回


連載一覧

1