Skip to content

mimikero

Program / Security etc…

Menu
Menu

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

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

概要

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

説明

HttpOnly 属性は、Cookieに設定する属性の一つで、クライアントサイドのスクリプト(JavaScriptなど)からCookieへのアクセスを禁止します。

これにより、クロスサイトスクリプティング(XSS)攻撃によってCookieが盗まれるのを防ぐ役割があります。
特に、セッショントークンや認証情報を含むCookieに適用することで、XSS攻撃を防ぐ重要なセキュリティ対策です。

リスク

HttpOnlyが設定されていない場合、悪意のあるスクリプトがXSS攻撃によってJavaScriptからCookieの内容にアクセスできるため、セッション乗っ取りのリスクが高まります。

攻撃者は、Cookie内の認証情報やセッショントークンを利用して、不正にユーザーになりすますことができ、アカウントが乗っ取られたり、機密データが漏洩する危険性があります。

特に、セッショントークンが盗まれると、ユーザーのアカウントが完全に制御されるリスクがあります。

検出トリガー

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

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

JavaScriptで生成されたCookieの場合は、Httpnly属性・Secure属性は指定できません。
サーバー側のCookieの場合は、セッション生成時に「HttpOnly」属性を設定します。

PHP

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

Java (Servlets)

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

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

Apacheの設定

ApacheサーバーでHttpOnlyを設定するには、Set-CookieヘッダーにHttpOnly属性を追加します。サーバーの設定ファイルに以下のように記述します。
これにより、ブラウザのJavaScriptからCookieにアクセスできなくなります。

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

Nginxの設定

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

add_header Set-Cookie "HttpOnly";

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

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

HttpOnly属性を付与すると、JavaScriptからそのクッキーにアクセスできなくなるため、Google Analyticsのようなクライアントサイドで動作するツールは正しく動作しなくなります。

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

関連リンク

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

Tenable Pluginhttps://jp.tenable.com/plugins/was/98063
Burp Scannerhttps://portswigger.net/kb/issues/00500600_cookie-without-httponly-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