[研究]GCB,IIS,httpOnlyCookies 設定為 True 受影響 NuGet 套件
2025-11-11
Windows Server 從Windows Server 2016開始,IIS為10.0版,後續 Windows Server 2019, Windows Server 2022, Windows Server 2025 也都是 10.0版,大版本號碼相同,小版本可能不同,畫面幾乎相同。
政府組態基準(Government Configuration Baseline,簡稱GCB)
TWGCB-04-014_Microsoft IIS 10政府組態基準說明文件v1.1_1141002
https://www.nics.nat.gov.tw/core_business/cybersecurity_defense/GCB/GCB_Documentation/
| 項次 | TWGCB-ID | 類別 | 原則設定名稱 | 說明 | 設定位置 | 設定路徑 | GCB設定值 |
| 19 | TWGCB-04-014-0019 | ASP.NET設定建議 | httpOnlyCookies | ▪ 這項原則設定決定 Cookie 是否只能經由 HTTP(S)協定來存取,其餘之 JavaScript、Silverlight 或Flash 等前端程式皆無法存取 ▪ 設定網站中的 Cookie 屬性為HttpOnly,讓 Cookie 只供瀏覽器與網站伺服器間之網頁溝通,可避免 Cookie 被 JavaScript 等相關前端程式存取,以降低攻擊者利用網站既有的 XSS 漏洞並透過JavaScript 取得 Cookie 資料之機會 | 站台 | IIS 管理員\伺服器\站台\網站\管理\設定編輯器\動作\開啟功能\區段\system.web\httpCookies\httpOnlyCookies | True |
預設值 False 和 GCB 建議值 True 不同。
********************************************************************************
把某 ASP.NET Webform 的方案的 packages.config 內容詢問 ChatGPT 是否受影響。再加上 PowerShell 測試,人工分析。
ChatGPT
| 類別 | 套件 | 是否受 HttpOnlyCookies 影響 |
原因說明 |
|---|---|---|---|
| ASP.NET 登入/驗證 | Microsoft.AspNet.Identity.*, Microsoft.Owin.Security.Cookies |
✅ 可能受影響(但通常正常) | OWIN / Identity 的登入 Cookie 會自動設成 HttpOnly,不影響登入流程,但若有自訂前端 JS 讀取登入 Cookie,會失效。 |
| 前端操作 Cookie 的 JS 函式庫 | js-cookie |
⚠️ 受影響(若存取 ASP.NET Cookie) | js-cookie 無法讀取被設為 HttpOnly 的 Cookie。若僅操作自訂 Cookie,則無影響。 敝人註:js-cookie 2.2.1 受影響 |
| Web 前端框架 | jQuery, bootstrap, vue, Moment.js, popper.js, Modernizr |
❌ 無影響 | 不依賴 Cookie 存取。 敝人註: Modernizr 2.8.3 不受影響, Modernizr.New 3.4.0受影響 |
| Web API / WebForm 功能 | Microsoft.AspNet.WebApi.*, Microsoft.AspNet.ScriptManager.*, Microsoft.AspNet.Web.Optimization.*, FriendlyUrls |
❌ 無影響 | 使用伺服器端 Session 或 Token,不依賴前端 Cookie 讀取。 |
| 紀錄與追蹤 | elmah, NLog, Swashbuckle, RestSharp, MailKit, SendGrid |
❌ 無影響 | 全部為伺服器端操作或外部 API,與 Cookie 無關。 |
| Excel / PDF / ZIP / 資料處理類 | Aspose.Cells, ClosedXML, ExcelDataReader, FreeDataExports, NPOI, SharpZipLib, ProDotNetZip 等 |
❌ 無影響 | 全為後端作業,不涉及 Cookie。 |
| 安全與加密 | BouncyCastle, starkbank-ecdsa, System.Security.*, Microsoft.Bcl.Cryptography |
❌ 無影響 | 不使用瀏覽器 Cookie。 |
| 前端輔助 | html5-shiv, Respond, WebGrease |
❌ 無影響 | 純前端功能,不存取 Cookie。 |
| 第三方 DI / 工具 | Autofac, Enums.NET, FastMember, LinqKit, ZString, AngleSharp, HtmlSanitizer |
❌ 無影響 | 與 Cookie 無關。 |
也就是那些套件會因 httpOnlyCookies 設定為 True (GCB建議值) 而功能異常,很難說,ChatGPT 也很難準確判斷。
NuGet 套件升級一次,就要重新檢測一次。
(完)




沒有留言:
張貼留言