서버 응답 HTML에는 사용자 입력이 없지만, 브라우저 스크립트가 location.hash에서 읽은 값을 검증 없이 innerHTML에 넣는다. 이로 인해 악성 HTML이 해석될 수 있는 취약 위치는?
정답 3번
이 경우 비신뢰 입력의 출발점은 location.hash이고 위험한 출력 지점은 innerHTML이다. 브라우저가 값을 HTML로 해석하므로 이벤트 처리기 같은 실행 가능한 내용이 주입될 수 있다. 서버가 입력을 응답에 넣지 않았더라도 클라이언트 코드만으로 DOM 기반 XSS가 생긴다. 일반 텍스트 표시가 목적이면 textContent처럼 HTML로 해석하지 않는 방법을 사용하고, HTML이 필요하면 허용 규칙에 맞춘 정제가 필요하다.
콘텐츠 정보
출제범위 기반 실전 연습을 위해 정처LAB이 독립 제작했습니다. 표시 연도는 학습 범위의 맥락이며 특정 시행 회차의 출제문항이나 복원 원문을 뜻하지 않습니다.
- 자료 유형
- 정처LAB 자체 제작
- 검수 상태
- 내용 검수 완료
- 해설 작성·검수
- 정처LAB 편집 기준
- 최종 검수
- 2026-09-04