1. 程式人生 > 其它 >【悟空雲課堂】第二十七期:HTTPS會話裡的敏感Cookie沒有設定‘Secure‘屬性(CWE-614)

【悟空雲課堂】第二十七期:HTTPS會話裡的敏感Cookie沒有設定‘Secure‘屬性(CWE-614)

技術標籤:悟空雲課堂程式碼規範安全安全漏洞資訊保安https

關注公眾號“中科天齊軟體安全中心”(id:woocoom),一起漲知識!

該欄目為中科天齊全新規劃的悟空雲課堂,每週五下午18:00準時上線,旨在科普軟體安全相關知識,助力企業有效防範軟體安全漏洞,提升網路安全防護能力。

【悟空雲課堂】第二十七期:HTTPS會話裡的敏感Cookie沒有設定’Secure’屬性(CWE-614:Generation of Error Message Containing Sensitive Information)

什麼是HTTPS會話裡的敏感Cookie沒有設定’Secure’屬性缺陷?

HTTPS會話裡的敏感Cookie沒有設定’Secure’屬性,這可能導致使用者代理通過HTTP會話以純文字格式傳送這些cookie。

HTTPS會話裡的敏感Cookie沒有設定’Secure’屬性缺陷構成條件有哪些?

產品沒有在HTTPS會話中為Cookie設定’Secure’屬性。

HTTPS會話裡的敏感Cookie沒有設定’Secure’屬性缺陷會造成哪些後果?

這可能導致cookie在http請求中傳送,並使遠端攻擊者更容易捕獲此cookie。

HTTPS會話裡的敏感Cookie沒有設定’Secure’屬性缺陷的防範和修補方法有哪些?

新增Secure標誌。Secure屬性是防止資訊在傳遞的過程中被監聽捕獲造成資訊洩漏。當Secure標誌的值被設定為true時,表示建立的 Cookie 會被以安全的形式向伺服器傳輸,即只能在 HTTPS 連線中被瀏覽器傳遞到伺服器端進行會話驗證,如果是 HTTP 連線則不會傳遞該資訊,所以Cookie 的具體內容不會被盜取。

HTTPS會話裡的敏感Cookie沒有設定’Secure’屬性缺陷樣例:

public static Cookie addCookie(HttpServletRequest request, HttpServletResponse response, String name, String value,Integer expiry, String domain) {
         Cookie cookie = new Cookie(name, value);
         if (null != expiry) {
             cookie.setMaxAge(
expiry); } if (isNotBlank(domain)) { cookie.setDomain(domain); } String ctx = request.getContextPath(); cookie.setPath(isBlank(ctx) ? "/" : ctx); response.addCookie(cookie); return cookie; }

Wukong(悟空)軟體程式碼安全檢測修復系統檢測上述程式程式碼,則可以發現程式碼中存在著“HTTPS會話裡的敏感Cookie沒有設定”Secure屬性” 導致的程式碼缺陷,如下圖:
Wukong(悟空)軟體程式碼安全檢測修復系統
HTTPS會話裡的敏感Cookie沒有設定’Secure’屬性缺陷在CWE中被編號為CWE-614:Generation of Error Message Containing Sensitive Information

更多的資訊請參考CWE官網:http://cwe.mitre.org/data/definitions/614.html

瞭解更多安全資訊 請關注公眾號 中科天齊軟體安全中心