Skip to content

mimikero

Program / Security etc…

Menu
Menu

tenable解説 安全なフラグが検出されない Cookie

Posted on 2024年9月22日2024年9月22日 by mimi

概要

脆弱性名(Ja)安全なフラグが検出されない Cookie
脆弱性名(En)Cookie Without Secure Flag Detected
ID98064
危険度Low
ファミリーWeb Applications

説明

Secure 属性は、Cookieに設定する属性の一つで、Cookieが暗号化されたHTTPS通信時のみ送信されるように制御するための属性です。

このフラグがないと、HTTP通信でもCookieが送信されるため、クリアテキストで通信が行われ、攻撃者に盗聴されるリスクが高まります。
特に、セッショントークンや機密情報を含むCookieがHTTP経由で漏洩する危険性があります。

リスク

Secureフラグが設定されていないCookieは、攻撃者がHTTP通信を盗聴することで、機密情報を入手できるリスクがあります。

これにより、セッションハイジャックや個人情報の漏洩が発生する可能性があります。

HTTPSを使用していても、HTTPリンクやリダイレクトを通じて、Cookieが不適切に送信されることがあります。

検出トリガー

  • HTTPレスポンスのSet-Cookieに「Secure」属性が設定されていない
NG: Set-Cookie: laravel_session=abcde12345;
OK: Set-Cookie: laravel_session=abcde12345; Secure;
  • JavaScriptで生成されたCookieで存在する (Google Analyticsなど)
_ga=GAxxxxxxxxx;

対策 (プログラム側で対策する場合)

サーバー側のCookieの場合は、セッション生成時に「Secure」属性を設定します。

PHP

setcookie("session", $sessionID, [ 'httponly' => true, 'secure' => true ]);

Java (Servlets)

Cookie cookie = new Cookie("session", sessionID);
cookie.setSecure(true);
response.addCookie(cookie);

対策 (サーバーで対策する場合)

Apacheの設定

Apacheサーバーで設定するには、サーバーの設定ファイルに以下のように記述します。

Header edit Set-Cookie ^(.*)$ $1;Secure

Nginxの設定

Nginxでは、設定ファイルに以下の行を追加してSecureを適用します。
この設定により、すべてのCookieにHttpOnly属性が付加されます。

add_header Set-Cookie "Secure";

これにより、セッショントークンや重要なデータを含むCookieがクリアテキストで送信されなくなります。

対策 (JavaScriptで生成されたCookieの場合)

JavaScriptで生成されたCookieの場合は、Httpnly属性・Secure属性は指定できません。

Secure属性は「HTTPS通信でのみクッキーを送信する」ためのものであり、HttpOnly属性とは異なり、JavaScriptからクッキーを利用することを禁止するものではありません。
そのため技術的にはJavaScriptでSecure属性を設定できても良いのですが、JavaScriptではSecure属性を指定する手段が提供されていません。

クッキーの安全性に関しては、サーバー側の管理が推奨されており、クライアントサイド(JavaScript)からのクッキーのセキュリティ属性設定を許可していないためです。

関連リンク

危険度が脆弱性ツールによって異なる場合があります。

Tenable Pluginhttps://jp.tenable.com/plugins/was/98064
Burp Scannerhttps://portswigger.net/kb/issues/00500200_tls-cookie-without-secure-flag-set

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

CAPTCHA


email confirm*

post date*

ads

trends post

Spring Boot と Spring Framework バージョン 対応表まとめ(SpringBoot v2,v3)

Excelデータのスクロールバーが短い現象を保存を使わずに直す

エックスサーバーにLaravelプロジェクトをデプロイ

latest post

  • Cockpit-Docker をubuntu20にインストールする
  • PHPのProcessで日本語パラメータを扱うとsurrogates not allowed となる
  • XServerでexecやshell_execを実行すると、Unable to forkとエラーが出るとき
  • tenable解説 混合リソースの検出
  • tenable解説 WebDAV
  • tenable解説 ディレクトリリスト
  • tenable解説 暗号化されていないパスワードフォーム
  • tenable解説 オートコンプリートのパスワードフィールド
  • tenable解説 CVS/SVN ユーザーの漏洩
  • tenable解説 プライベート IP アドレスの漏洩
  • tenable解説 メールアドレスの漏洩
  • tenable解説 バックアップファイル
  • tenable解説 バックアップディレクトリ
  • tenable解説 共通ファイルの検出
  • tenable解説 共通ディレクトリの検出

カテゴリー

  • Authentication & Session
  • BurpSuite
  • Component Vulnerability
  • Data Exposure
  • HTTP Security Header
  • Lodash
  • Moment.js
  • tenable
  • Web Applications
  • Web Servers
  • 未分類
  • 脆弱性解説
©2025 mimikero | WordPress Theme by Superbthemes.com