CyberGlossary

攻撃と脅威

クッキーポイズニング

定義

HTTP クッキーが Web アプリへ送信される前にその内容を書き換え、信頼・本人性・業務ロジックの判断を歪める攻撃。

クッキーポイズニングは、ユーザー ID、権限、価格、フィーチャーフラグ、署名済みトークンなどアプリケーションの状態を載せたクッキーを、クライアント側で改ざんする攻撃です。サーバーが整合性検証なしにクッキーを信頼している場合、権限昇格、カート合計の改変、テナント切り替え、認可回避などが可能になります。攻撃者は自身のブラウザで直接、または XSS、HTTPS 非対応経路での中間者攻撃を介して書き換えを行います。対策は、機密状態を整合性のない状態でクライアントに保存しないこと、HMAC や強力に署名された JWT、サーバーサイドセッションを用いること、サーバーで毎回検証すること、Secure・HttpOnly・SameSite 属性を付け TLS を強制すること、そしてすべてのクッキー値を信頼できないユーザー入力として扱うことです。

  • ユーザーがクッキーの role=user を role=admin に書き換え、サーバーが整合性を検証しないため管理画面にアクセスできてしまう。
  • EC サイトが価格をクッキーに保持しており、攻撃者が決済前にそれを 1 円へ書き換えて購入する。

関連用語