HttpOnly属性のないCookie

C#でHttpOnly属性がないCookie

説明

HttpOnly属性のないCookieは、ブラウザーのクライアント側スクリプトから読み取れます。

想定される影響

  • XSSが発生すると、セッションCookieや認証Cookieが攻撃者に盗まれるおそれがあります。

対処方法

クライアント側スクリプトから読む必要がないCookieに、CookieOptions.HttpOnly = trueを設定してください。

例

変更前

csharp
response.Cookies.Append("sid", value);

変更後

csharp
response.Cookies.Append("sid", value, new CookieOptions { HttpOnly = true });

解説:

  • 変更前: XSSを悪用する攻撃者は、HttpOnlyのないCookieをクライアント側スクリプトで読み取れます。
  • 変更後: JavaScriptからのアクセスが不要なCookieには、CookieOptions.HttpOnlyを有効にしてください。

参考資料