'Secure' 속성이 없는 민감한 쿠키
Sensitive Cookie in HTTPS Session Without 'Secure' Attribute
설명
'Secure' 속성이 없는 민감한 쿠키는 중간자 공격(Man-in-the-Middle, MITM)으로 인해 민감한 정보가 노출될 위험이 있습니다. 'Secure' 속성이 없는 쿠키는 HTTPS가 아닌 HTTP에서도 전송될 수 있으므로 보안에 취약합니다.
잠재적 영향
민감한 정보 유출: 공격자가 쿠키를 가로채서 세션을 탈취하거나 민감한 정보를 얻을 수 있습니다.
세션 하이재킹: 공격자가 세션 쿠키를 가로채서 사용자로 가장할 수 있습니다.
데이터 변조: 공격자가 쿠키 데이터를 조작하여 애플리케이션의 무결성을 해칠 수 있습니다.
해결 방법
쿠키에 'Secure' 속성 추가: HTTPS를 통해서만 쿠키가 전송되도록 'Secure' 속성을 설정합니다.
취약한 코드 및 안전한 코드 예시
Django cookie settings
취약한 코드
# Unsafe Django cookie settings
SESSION_COOKIE_SECURE = False
CSRF_COOKIE_SECURE = False안전한 코드
Flask cookie settings
취약한 코드
안전한 코드
FastAPI cookie settings
취약한 코드
안전한 코드
설명:
취약한 코드: 'Secure' 속성이 설정되지 않아 쿠키가 HTTP를 통해 전송될 수 있습니다.
안전한 코드: 'Secure' 속성과 'HttpOnly' 속성을 설정하여 쿠키가 HTTPS를 통해서만 전송되도록 합니다.
참조
Last updated