1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

セッションハイジャックとは

Last updated at Posted at 2024-10-15

セッションハイジャックとは?

攻撃者がユーザーのセッションIDを盗むと、そのユーザーとしてWebアプリケーションを操作可能になります。

cookieはWebアプリケーションに一時的な認証機能を提供するものなので、他人のcookieを奪い取ると、そのユーザーの権限でWebアプリケーションを使えるようになります。

セッションの情報を盗むことで他人がアクセスできるのか

セッションハイジャックの色々な手法

暗号化されていないと傍聴できてしまう

セキュリティに問題のあるネットワークを通過するcookieは盗聴可能です。無線LANは、まさにそのようなネットワークの一例です。特に暗号化されていない無線LANでは、接続されているクライアントのすべてのトラフィックを簡単に傍聴できてしまいます。Webアプリケーションの開発者にとっては、これはSSLによる安全な接続の提供が必要であるということです。Rails 3.1以降では、アプリケーションの設定ファイルで以下のようにSSL接続を強制することによって達成できます。

config.force_ssl = true

暗号化されていないと簡単に傍聴できること、SSLによって安全な通信ができているのか。

  • 暗号化されたLANの規格

  • SSLとは

ログアウトボタンは目立つように表示させる

公共の端末での作業後にcookieを消去するような殊勝なユーザーはほとんどいません。最後のユーザーがWebアプリケーションからログアウトするのを忘れて立ち去っていたら、次のユーザーはそのWebアプリケーションをそのまま使えてしまいます。ユーザーには必ずログアウトボタンを提供しなければなりません。それもよく目立つボタンをです。

ログアウトボタンを作るときは目立つように作成しよう。

XSS攻撃でcookieを盗む攻撃

クロスサイトスクリプティング(XSS)攻撃は、多くの場合、ユーザーのcookieを手に入れるのが目的です。XSSの詳細も参照してください。

  • XSSとは?

セッションIDを固定する攻撃

攻撃者が自分の知らないcookieをわざわざ盗み取る代わりに、標的のcookieを攻撃者が知っているcookieのセッションIDに固定してしまうという攻撃方法もあります。詳しくは後述のセッション固定攻撃の記述を参照してください。

感想

セッションハイジャックに関して名前と内容が少し理解していたが、色々な手法があることを知らなかった。
SSLなどの言葉も出てきたのでぜひ調べてみたい

1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?