見出し画像

サーバへの接続・セッションハイジャックの仕組み②Webサーバ編

情報セキュリティ第四弾:セッションハイジャック②

1.会員制サイトへのアクセスの流れ

2.会員制サイトへのなりすましアクセスの流れ

3.セッションID盗聴に至った脆弱性が考えられるポイント

  1. http通信を行っている

  2. セッションIDの推測・偽装が簡易

  3. セッション管理情報が観測可能

  4. クロスサイトスクリプティング(XSS)によるcookie情報の悪用

それでは、各脆弱性について詳細を説明します。

3.1.http通信を行っている

まず、http通信とhttps通信の違いはご存じでしょうか?
 http通信:平文でのやりとりを行っている
 https通信:http secureのことで、TLS(Transport Layer Security)というセキュリティプロトコルを使用して通信を行っている

3.2.セッションIDの推測・偽装が簡易

簡易となってしまう原因として下記があげられます。
・ユーザごとにセッションIDが固定
⇒ログインの度に同じものを使いまわすので、一度漏れると何度もセッションハイジャックされる

・ユーザIDの生成に日時、連番、ユーザID等が関連している
⇒下記のように、推測される可能性がある

3.3.セッション管理情報が観測可能

・URLにパラメータが載っていると通信ログのrefererヘッダにて確認されてしまう。
下記は、Google Chromeのブラウザディベロッパーツールで、Refererヘッダを通信ログで確認したものであり、Googleの検索トップページのURLへアクセスしていることが確認できる。
もし、セッションIDをURLに格納しているサイトの場合は、
Refererのステータスに「http://www.sample.co.jp/mypage.html?sessionid=12345」という感じで表示される。

3.4.クロスサイトスクリプティング(XSS)によるcookie情報の悪用

こちらは、クロスサイトスクリプティング(XSS)の仕組みの説明だけで、一つの記事となってしまうため、ここではさらっと述べます。

Webページ内を動的に操作するJavaScriptの脆弱性を悪用して、Cookieに設定されているセッション管理情報を盗む手法を用いる。

詳しくは、クロスサイトスクリプティング(XSS)の記事を別に作成予定です。

4.セッションハイジャックの被害

・情報漏洩
・ネットショッピング、オンラインバンキングなどの不正利用
・登録情報の改竄

5.セッションハイジャックへの対策

【クライアント】
・セッション管理がしっかりとしていそうなサイトを利用する
・WAFの導入でXSSの脆弱性に対応する

【サイト作成者】
・https通信を用いる
・セッションIDをURLに含めない
・セッションIDを難読なものにする
・同一ユーザのセッションIDを通信毎に変更する
・XSSの脆弱性があるフォームをなくす

次回は、XSS、Refererヘッダ等の記事を作成しようと思います。
ぜひ、ご覧ください。( *´艸`)

この記事が気に入ったらサポートをしてみませんか?