Secure 속성이 없는 쿠키 설정 취약점
Sensitive Cookie in HTTPS Session Without 'Secure' Attribute
설명
쿠키(Cookie)가 Secure 속성을 설정하지 않은 경우, HTTP(비암호화) 연결을 통해 전송될 수 있어 중간자 공격(Man-in-the-Middle, MitM)에 의해 탈취될 위험이 있습니다.
HTTPS를 사용하는 애플리케이션에서는 쿠키가 암호화된 연결을 통해서만 전송되도록 Secure 속성을 반드시 설정해야 합니다.
잠재적 영향
세션 하이재킹(Session Hijacking): 공격자가 네트워크 트래픽을 감청하여 사용자의 세션을 탈취할 수 있습니다.
개인정보 유출: 로그인 정보, 인증 토큰 등 민감한 쿠키 값이 노출될 수 있습니다.
불법적인 계정 접근: 공격자가 탈취한 세션을 이용하여 사용자의 계정에 접근할 수 있습니다.
해결 방법
쿠키의
Secure속성을true로 설정쿠키가 HTTPS에서만 전송되도록
cookie.setSecure(true)를 적용해야 합니다.
기타 보안 속성 설정
HttpOnly: JavaScript를 통해 쿠키에 접근할 수 없도록 설정 (cookie.setHttpOnly(true))SameSite: 크로스 사이트 요청에서 쿠키가 전송되지 않도록 제한 (cookie.setPath("/"))
취약한 코드 및 안전한 코드 예시
취약한 코드
안전한 코드
설명:
취약한 코드:
Secure속성을 설정하지 않아 HTTP 요청에서도 쿠키가 전송될 수 있음.
안전한 코드:
setSecure(true),setHttpOnly(true),setPath("/")를 설정하여 보안 강화.
참조
Last updated