← 질문 목록
#372깊이 0

XSS 공격은 사용자 입력을 어떻게 처리하여 방어하는가?

인프라 · 보안

답변 연습

내 답변 적어보기접힘
이 브라우저에 자동 저장 · 0자
모범답안 확인하기내 답변 뒤에 열어보세요

사용자 입력을 출력할 때 특수문자를 HTML 엔티티로 이스케이프하고 CSP와 HttpOnly 속성을 적용하여 방어한다.

방어 지점적용 기술방어 효과
출력 시점HTML 이스케이프스크립트 실행 무효화
응답 헤더Content Security Policy허가되지 않은 스크립트 차단
쿠키 설정HttpOnly 속성JavaScript의 쿠키 접근 차단

게시글 제목에 스크립트 태그를 넣는 상황을 생각해보자. 서버가 이를 이스케이프 없이 반환하면 브라우저는 해당 코드를 실행한다. 꺾쇠괄호를 엔티티로 변환하면 브라우저는 이를 실행 코드가 아닌 단순 문자열로 다룬다.

출력 변환을 놓쳐 스크립트가 실행되더라도 피해를 줄여야 한다. CSP를 설정하면 승인되지 않은 출처의 스크립트 실행이나 외부 데이터 전송을 브라우저가 직접 차단한다.

세션 쿠키에 HttpOnly 속성을 붙이면 스크립트가 쿠키에 접근하지 못한다. 공격자가 스크립트로 세션 토큰을 탈취하는 2차 피해를 막는다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

XSS 공격은 사용자 입력을 어떻게 처리하여 방어하는가?