コネクト株式会社 技術情報コンテンツ | ||
クロスサイトスクリプティング[[セキュリティ指針]] 説明クロスサイトスクリプティングとは、ユーザもしくはなんらかの外部からの入力データにJavaScriptやスタイルシートなどの、危険なHTMLタグやスクリプトが埋め込まれ、他サーバーへの攻撃や、スクリプトなどによって実行可能な様様な意図しない挙動を引き起こす問題を指す。 最近では、IFrameを使用したバッファオーバーフローを伴う攻撃等も発生しており、Web上でもっとも有名なセキュリティの問題となりつつある。 被害例例えば掲示板等や日記等での入力で不正なHTMLタグを許容する場合に、不正な書き込みによりJavaScript閲覧者側で実行され、重要なセッション情報などが不正書き込みをした人物に送信されたり、サイトを偽ることによってユーザからカード番号等の重要な番号を引き出すといった方法が考えられる。
対策以下の文字列をサニタイズする。サニタイズするタイミングは、データ受付時ではなく、HTML出力直前に例外なく行うこと。
コーディング手法
<HTML> <HEAD> </HEAD> <BODY> <FORM method="post"> テキストを入力してください<BR> <INPUT name="input_text" type="text"> <INPUT type="submit" value="送信"> </FORM> <?php if (is_set($_POST['input_text']) { print htmlspecialchars($_POST['input_text'], ENT_QUOTES); } ?> </BODY> </HTML> |