XSS(cross-site scripting:クロスサイトスクリプティング)とは、信頼できるWebサイトを指しているように見えるリンクに、悪意あるスクリプトコードを挿入することで行われるセキュリティ攻撃である。エンドユーザーがこのリンクをクリックすると、挿入されているコードがこのユーザーのWebリクエストの一部として、リンク先のサイトに送信される。このサイトはリクエストに応じてユーザーのブラウザにコンテンツを返すが、その中にはリクエストに含まれていたコードがそのまま混入している。このコードがユーザーのコンピュータで実行され、コンピュータ内の情報を攻撃者に勝手に送信するなどの不正な処理を行う。
ユーザーの入力データを含むエラーメッセージを動的に返すWebフォームは、フォームやページの動作を制御するHTMLを、攻撃者が改変できるようにしてしまう場合がある。攻撃者は、フォーラムの投稿内のリンクやスパムメッセージ内のリンクにコードを挿入するなど、さまざまな方法でこの不正を行う。電子メールスプーフィングにより、信頼できる送信者になりすます場合もある。
SQLインジェクションなどのほかのWebベースの攻撃と同様に、クロスサイトスクリプティングが可能になるのは、アプリケーションのセキュリティの不備が最大の原因だ。ページを動的に生成するWebサーバアプリケーションは、ユーザーの入力を検証して適切にエンコードされたページだけを生成するようになっていない場合、クロスサイトスクリプティング攻撃を受ける恐れがある。クロスサイトスクリプティングを可能にするこの脆弱性は、XSSホールと呼ばれることもある。
当然のことながら、専門家はクロスサイトスクリプティング対策として、Webアプリケーションに適切なセキュリティメカニズムを実装し、サーバで入力を検証することを勧めている。
Copyright © ITmedia, Inc. All Rights Reserved.