HttpOnly 속성이 없는 민감한 쿠키

HttpOnly 미설정 쿠키 노출

설명

인증 토큰이나 세션 ID를 담는 쿠키에 HttpOnly 속성이 없으면 브라우저 JavaScript가 쿠키 값을 읽을 수 있습니다. XSS가 발생한 경우 공격자는 스크립트로 쿠키를 탈취해 사용자를 가장할 수 있습니다.

잠재적 영향

  • 세션 탈취
  • 인증 토큰 노출
  • XSS와 결합된 계정 접근

해결 방법

  1. 민감한 쿠키에는 HttpOnly=true를 설정합니다.
  2. Secure=true와 적절한 SameSite 정책도 함께 적용합니다.
  3. 쿠키 생성 로직을 공통화해 보안 속성을 기본값으로 강제합니다.

예시

변경 전

java
Cookie cookie = new Cookie("sid", token);
response.addCookie(cookie);

변경 후

java
Cookie cookie = new Cookie("sid", token);
cookie.setHttpOnly(true);
cookie.setSecure(true);
response.addCookie(cookie);

설명:

  • 변경 전: 인증 정보나 세션 ID 같은 민감한 값을 담는 쿠키에 HttpOnly를 설정하지 않으면 브라우저 스크립트가 쿠키 값을 읽을 수 있습니다.
  • 변경 후: 민감한 쿠키에는 항상 HttpOnly=true를 명시합니다.

참조