説明
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を有効にしてください。