フレームワークとWebセキュリティ

研究内容

安全なWebサイトの開発を手助けする方法について研究しています.

Webサイトは,電波が通っている世界中のどこからでも利用できます.

それはつまり,世界中のどこからでも攻撃ができることを意味します.

Webサイトの開発者は,攻撃からWebサイトを守る必要がありますが,幅広い攻撃が存在するため,全てをWebサイト開発者が効率よく対策することは難しいです.

この問題に対して,攻撃への対策がなされたプログラムを利用して,Webサイトを開発する方法があります.

そのプログラムの一つがWebアプリケーションフレームワークです.

幅広い攻撃の対策をしてくれるWebアプリケーションフレームワークの研究・開発をすることで,Webサイトのセキュリティを簡単に確保できるようになります.

問題

JavaScriptを埋め込んで,alert()を呼び出す!

Webに関する問題として,クロスサイトスクリプティング(XSS)というWebサイトへの攻撃方法が可能かどうかを調べましょう.

この攻撃はサイトに意図しない動作をするプログラムを入れることで情報を盗んだり,間違った情報を与えたりする攻撃手法です.

この攻撃ができるかどうかを判別する方法の一つが,scriptタグを埋め込んで,JavaScriptのalert関数を呼び出すことです.

タグとは<>に囲まれており,テキストに特殊な意味を与えるためのものです.

<script>と</script>の間では,JavaScriptというプログラミング言語の処理が実行されます.

alert()はJavaScriptの関数の一つで,scriptタグ内でalert("「何かしらの文字列」")を入力すると,ポップアップを表示してくれます.

下のフォームの入力を利用して,JavaScriptのalert()を実行させてみましょう!

入力:



ヒント

1. 入力フォームに記入した文字列は,送信するとその文字列がhtmlに埋め込まれて返信されます.

2. 入力フォームに<script></script>を入れると,それが埋め込まれたhtmlが返信されます.
これにより,htmlにscriptタグが埋め込まれたことになります. (脆弱性を作り込まないようにするため,実際にはscriptタグは埋め込ません)

3. alert("「何かしらの文字列」")をscriptタグの中に入れてみましょう.

4. 何かしらの文字列は""に挟まれる必要があります.

5. 入力フォームに<script></script>の間にalert("「何らかの文字列」")を入れて送信してみましょう.(「何かしらの文字列」はどんな文字列を入れても構いません.)