情報セキュリティスペシャリスト受験ノート

情報セキュリティスペシャリストの試験勉強用のノートです。

Webアプリケーションの脆弱性についての問題

 【H27春SC午後1問1】

  

1.セッションIDの保護、Cookieのsecure属性

Set-Cookieヘッダにsecure属性が設定されていないと、第三者にセッションIDを盗聴されるリスクがある。 ⇒ セッションハイジャック

 

■secure属性

WebブラウザがHTTPS通信を行うときに限り、Cookieをサーバへ送信するための属性

設定されていない場合、HTTP通信でもCookieを送信する。HTTPSでは暗号化されるため盗聴はされないが、HTTPでは暗号化されないので盗聴のリスクがある。

 

2.HTTPヘッダインジェクション攻撃

サーバ側でHTTPレスポンスに不正なヘッダを出力させる攻撃

HTMLヘッダの前に改行(CRLF)を2つ入れることによって、パラメタをSet-Cookieヘッダから分離し、空白行を挿入することでHTTPレスポンスボディになるようにする。

⇒ パラメタをHTML文としてブラウザに解釈させる。

 

上記と同様に、クライアント側で任意のスクリプトを実行させる攻撃に、クロスサイトスクリプティングがある。

⇒ 対応策:ヘッダ出力用の関数やAPIを使用する。それができない場合は、出力文字列に改行コードがあるとエラー画面を出力する(出力文字列の改行コード以降の文字列を削除)

 

3.セッションフィクセーション攻撃(セッション固定化攻撃)

 

攻撃者が取得したセッションIDを標的とした利用者に使わせ、その利用者になりすましてセッションを乗っ取る攻撃

 

ログイン前とログイン後に同じセッションIDを使用していると攻撃を受ける可能性がある。

⇒ 対応策:ログイン後に新しいセッションIDを発行し、新しいセッションIDによるセッションを開始する。