• 検索結果がありません。

ウェブページを記述するためのマークアップ言語。

文書の一部を“

<”

と“

>”

で挟まれた「タグ」と呼ばれる特別な 文字列で囲うことにより、文章の構造や修飾についての情 報を文書に埋め込んで記述することができる。

 Cookie

ウェブサーバとウェブブラウザ間で状態を管理するために 使われる。例えば、ウェブサイトの訪問回数や、ユーザ認 証後の状態を管理するために使われる。

Copyright © 2011 独立行政法人 情報処理推進機構

38

クロスサイト・スクリプティング脆弱性の概要

脅威

出力するウェブページ(

HTML

)を書き換えられ、ウェブ ページを操作されてしまう

本物サイト上に偽のページが表示される、

Cookie

を取得される等

原因

ウェブページ出力(

HTML

生成)の実装に問題

注意が必要なウェブアプリケーション

動的にウェブページを出力するウェブアプリケー ション

クロスサイト・スクリプティング攻撃の イメージ図

ウェブ アプリケーション

3.スクリプトを含む 悪意の

ある人

利用者のブラウザ 悪意のある人が

用意した罠ページ 1-a.罠とは知ら ず、悪意あるサイト の罠ページを閲覧

1-b.罠リンクを含 むメールを送信

ウェブサイト

リンク クリック!

利用者のメーラ

2. クリック等 により、 スク リ プ ト を 含 む 文 字列を送信

Cookie 漏えい

偽ページ スクリプト の表示

利用者

罠ページや罠リンクへのアクセスから、利用者が被害を受ける

Copyright © 2011 独立行政法人 情報処理推進機構

HTML生成の実装に問題があると

ウェブサーバ

+ウェブアプリ

検索キーワード IPA

検索キーワード

<s>IPA</s>

ウェブサーバ

+ウェブアプリ

<s>は、取り消し線 を引くHTMLタグ

<html>

IPA を含む検索結果

</html>

IPA

<html>

【<s>IPA</s> を含む 検索結果

</html>

<s>IPA</s>

" < " および " > " が出力され、HTMLタグとして認識 されてしまう (表示が崩れる)。

【IPA】を含む 検索結果

IPA】を含む 検索結果

利用者

利用者

40

正常系

異常系

 アプリケーション開発者が想定していた HTML

 攻撃により、書き換えられた HTML 攻撃によりHTMLを書き換えられる

<html>

IPA を含む検索結果

</html>

IPA

<html>

【<s>IPA</s> を含む 検索結果

</html>

<s>IPA</s>

【IPA】を含む検索結果

【IPA】を含む検索結果

HTMLソース

ウェブブラウザ

HTML

ソース ウェブブラウザ

Copyright © 2011 独立行政法人 情報処理推進機構

HTMLを書き換えられてしまうと

42

偽情報の表示

悪意あるサイト への誘導

なりすましに つながる 情報の窃取

クロスサイト・スクリプティング攻撃の脅威

本物サイト上に偽のページが表示される

偽の情報の流布による混乱

フィッシング詐欺による重要情報の漏えい

アドレスバーに表示されているドメインは正規のものである ため、利用者が罠と気付きにくい

ブラウザが保存している

Cookie

を取得される

– Cookie

にセッション

ID

が格納されている場合、さらに利用 者への成りすましにつながる

任意の

Cookie

をブラウザに保存させられる

Copyright © 2011 独立行政法人 情報処理推進機構

クロスサイト・スクリプティングの脆弱性を 取り巻く状況

脆弱性による被害や騒動があったサイト

動画共有サービス

ミニブログサイト

バグ管理システム

ウェブメール

クラウドを使ったデータ管理サービス

 IPA

に届け出られたクロスサイト・スクリプティング の脆弱性は、

2300

件以上

2011

3

月末)

44

[演習]AppGoatを用いた疑似攻撃体験 [時間]30分(解説含む)

 AppGoat を起動し、クロスサイト・スクリプティ ングの下記テーマの演習を実施してください。

「アンケートページの改ざん(反射型)」

 画面上に「 Congratulations!! 」と表示されると

演習クリアです。

Copyright © 2011 独立行政法人 情報処理推進機構

[演習]演習環境へのアクセス方法

 AppGoat 起動後、①学習テーマを選択し、

②パンくずリストの「演習」をクリックします。

46

[演習]演習の進め方

下記のように、ウェブアプリケーションがどのように

HTML

を生成しているのか、想像しながら演習問題 を解いてみましょう。

アンケートページで様々な値を入力し、入力内容確認ペー ジやエラーページを表示させる。

アンケートページで入力した値が、どのように

HTML

に反 映されているか確認する。

アンケートページ上で右クリックし、「ソースを表示」で

HTML

ソースを表示する。

Internet Explorer

Firefox

Copyright © 2011 独立行政法人 情報処理推進機構

[演習]行き詰まった場合

問題を解くのに行き詰まった場合は、

AppGoat

の ヒント機能を参考に演習を進めてください。

次のスライドの財団法人 地方自治情報センター

LASDEC

)の資料抜粋(項番

2.4

)を参照ください。

48

ウェブ健康診断 - 財団法人 地方自治情報センター(LASDEC)

平成22年度版ウェブ健康診断仕様 Internet公開用

https://www.lasdec.or.jp/cms/resources/content/1284/H22_web_kenko_shindan.pdf

AppGoat

のヒント機能

脆弱性の検出パターンや脆弱性有無の 判定基準の目安が記載されています

平成22年度版ウェブ健康診断仕様(抜粋)

地方自治体向けの脆弱性有無確認の参考資料

[

考 ]

Copyright © 2011 独立行政法人 情報処理推進機構

[演習解説]

 演習解説は、別紙を参照してください。別紙 は、演習時間終了後に閲覧するようにしてく ださい。

50

クロスサイト・スクリプティング脆弱性の対策

 HTML

テキストの入力を許可しない場合

 HTML

テキストの入力を許可する場合

-根本的解決

HTML

における特別な記号文字をエスケープ処理する ・URL 出力時のスキームを制限する

・スクリプト要素の内容を動的に生成しない

-保険的対策

・入力値チェックをする

-根本的解決

・構文解析木を作成して、必要な要素のみを抽出する

-保険的対策

・入力された HTML テキストから、スクリプトを除く

掲示板やブログ等のアプリ

検索や情報登録等の機能 を有するアプリ

Copyright © 2011 独立行政法人 情報処理推進機構

52

& → &amp; < → &lt;

" → &quot; > → &gt;

' → &#039;

•HTMLにおける特別な意味を持つ「記号文字」

を文字参照に置換

HTML

を許可しない場合)

関連したドキュメント