界: Security Features

軟體安全性並非安全性軟體。我們關注驗證、Access Control、保密性、加密以及權限管理之類的主題。

Django Bad Practices: Cookie Stored Sessions

Abstract
當使用者登出時,不會使以 Cookie 為基礎的階段作業失效。如果攻擊者已找到、竊取或攔截使用者的 Cookie,他們可能會冒充該使用者,即使該使用者已登出。
Explanation
將階段作業資料儲存在 Cookie 中會帶來數個問題:

1. 當使用者登出時,不會使以 Cookie 為基礎的階段作業失效。如果攻擊者已找到、竊取或攔截使用者的 Cookie,他們可能會冒充該使用者,即使該使用者已登出。

2. 階段作業 Cookie 已簽署,以避免遭篡改並保證資料的真實性,但不會防止重複進行的攻擊。

3. 將使用 Django 的加密式簽署工具以及 SECRET_KEY 設定來儲存階段作業資料。如果 SECRET_KEY 遭洩漏,攻擊者無法僅偽造階段作業資料,但如果應用程式使用 Pickle 將階段作業資料序列化到 Cookie 中,則攻擊者將能夠製作惡意的序列化資料,此資料將在還原序列化之後執行任意程式碼。

4. 階段作業資料已簽署,但未加密。這意味著攻擊者將能夠讀取階段作業資料,但無法對其進行修改。

5. 視網站負載而定,Cookie 大小和序列化程序可能會造成效能問題。
References
[1] Django Foundation Using cookie-based sessions
[2] Standards Mapping - DISA Control Correlation Identifier Version 2 CCI-001185
[3] Standards Mapping - General Data Protection Regulation (GDPR) Access Violation
[4] Standards Mapping - NIST Special Publication 800-53 Revision 4 AU-10 Non-Repudiation (P2), SC-23 Session Authenticity (P1)
[5] Standards Mapping - NIST Special Publication 800-53 Revision 5 AU-10 Non-Repudiation, SC-23 Session Authenticity
[6] Standards Mapping - OWASP API 2023 API5 Broken Function Level Authorization
[7] Standards Mapping - OWASP Mobile 2024 M8 Security Misconfiguration
[8] Standards Mapping - Security Technical Implementation Guide Version 4.2 APSC-DV-002240 CAT I
[9] Standards Mapping - Security Technical Implementation Guide Version 4.3 APSC-DV-002240 CAT I
[10] Standards Mapping - Security Technical Implementation Guide Version 4.4 APSC-DV-002240 CAT I
[11] Standards Mapping - Security Technical Implementation Guide Version 4.5 APSC-DV-002240 CAT I
[12] Standards Mapping - Security Technical Implementation Guide Version 4.6 APSC-DV-002240 CAT I
[13] Standards Mapping - Security Technical Implementation Guide Version 4.7 APSC-DV-002240 CAT I
[14] Standards Mapping - Security Technical Implementation Guide Version 4.8 APSC-DV-002240 CAT I
[15] Standards Mapping - Security Technical Implementation Guide Version 4.9 APSC-DV-002240 CAT I
[16] Standards Mapping - Security Technical Implementation Guide Version 4.10 APSC-DV-002240 CAT I
[17] Standards Mapping - Security Technical Implementation Guide Version 4.11 APSC-DV-002240 CAT I
[18] Standards Mapping - Security Technical Implementation Guide Version 4.1 APSC-DV-002240 CAT I
[19] Standards Mapping - Security Technical Implementation Guide Version 5.1 APSC-DV-002240 CAT I
[20] Standards Mapping - Security Technical Implementation Guide Version 5.2 APSC-DV-002240 CAT I
[21] Standards Mapping - Security Technical Implementation Guide Version 5.3 APSC-DV-000590 CAT II, APSC-DV-002240 CAT I
[22] Standards Mapping - Security Technical Implementation Guide Version 6.1 APSC-DV-000590 CAT II, APSC-DV-002240 CAT I
[23] Standards Mapping - Web Application Security Consortium Version 2.00 Application Misconfiguration (WASC-15)
desc.structural.python.django_bad_practices_cookie_stored_sessions