界: Security Features
軟體安全性並非安全性軟體。我們關注驗證、Access Control、保密性、加密以及權限管理之類的主題。
Django Bad Practices: Cookie Stored Sessions
Abstract
當使用者登出時,不會使以 Cookie 為基礎的階段作業失效。如果攻擊者已找到、竊取或攔截使用者的 Cookie,他們可能會冒充該使用者,即使該使用者已登出。
Explanation
將階段作業資料儲存在 Cookie 中會帶來數個問題:
1. 當使用者登出時,不會使以 Cookie 為基礎的階段作業失效。如果攻擊者已找到、竊取或攔截使用者的 Cookie,他們可能會冒充該使用者,即使該使用者已登出。
2. 階段作業 Cookie 已簽署,以避免遭篡改並保證資料的真實性,但不會防止重複進行的攻擊。
3. 將使用 Django 的加密式簽署工具以及
4. 階段作業資料已簽署,但未加密。這意味著攻擊者將能夠讀取階段作業資料,但無法對其進行修改。
5. 視網站負載而定,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