정보 보안 기초

게시판 웹 애플리케이션에서 이용자가 게시한 글 안의 스크립트가 다른 열람자의 브라우저에서 실행되어 버리는 취약점이 있었다. 이 취약점의 이름과 근본적인 대책의 조합으로 올바른 것은?

  1. ASQL 인젝션. 데이터베이스 접속에 사용하는 비밀번호를 길게 한다
  2. B크로스 사이트 스크립팅(XSS). 게시된 글을 HTML로 출력할 때 <나 > 등 특별한 의미를 가진 문자를 이스케이프한다
  3. C크로스 사이트 스크립팅(XSS). 서버와 브라우저 사이의 통신을 HTTPS로 암호화한다
정답과 해설 보기

정답: B. 크로스 사이트 스크립팅(XSS). 게시된 글을 HTML로 출력할 때 <나 > 등 특별한 의미를 가진 문자를 이스케이프한다

크로스 사이트 스크립팅(XSS)은 웹 애플리케이션이 이용자의 입력을 그대로 HTML 안에 출력하기 때문에, 입력에 포함된 스크립트가 페이지의 일부로서 열람자의 브라우저에서 실행되어 버리는 취약점입니다. 스크립트는 그 사이트의 페이지로서 동작하므로, 열람자의 세션 정보(Cookie)를 훔치거나 가짜 입력란을 표시할 우려가 있습니다. 근본적인 대책은 출력하는 위치에 따라 <, >, &, 따옴표 같은 특별한 의미를 가진 문자를 이스케이프(예를 들어 <를 &lt;로 변환)하여 단순한 문자로 표시되게 하는 것입니다. 보조적인 대책으로 Cookie에 HttpOnly 속성을 붙여 스크립트에서 읽을 수 없게 하거나, 콘텐츠 보안 정책으로 실행할 수 있는 스크립트를 제한합니다. HTTPS는 통신로를 보호하는 것으로, 정규 페이지에 삽입된 스크립트의 실행은 막을 수 없습니다.

이 분야 연습하기 분야로 돌아가기

정보 보안 기초의 다른 문제

  1. 웹 애플리케이션에서 로그인한 상태의 이용자가 공격자가 준비한 함정 페이지를 열면, 이용자의 브라우저에서 정규 사이트로 이용자가 의도하지 않은 송금이나 설정 변경 요청이 보내지는 취약점이 있다. 이 취약점에 대한 대책으로 적절한 것은?
  2. 웹 애플리케이션이 URL 매개변수로 지정된 파일 이름을 공개용 폴더의 이름과 이어 붙여 읽어 들여 표시하고 있다. 파일 이름에 ../를 포함한 값을 지정하면 공개용 폴더 밖에 있는 설정 파일 등을 읽어 낼 수 있게 된다. 이 공격의 이름과 대책의 조합으로 올바른 것은?
  3. 웹 애플리케이션에서 로그인 전과 후에 같은 세션 ID를 계속 사용하면, 공격자가 미리 준비한 세션 ID를 이용자가 사용하게 하고, 이용자가 로그인한 뒤 그 ID로 이용자를 사칭할 우려가 있다. 이 공격에 대한 대책으로 가장 적절한 것은?
  4. DDoS 공격에 대한 설명으로 올바른 것은?
  5. 제로데이 공격에 대한 설명으로 올바른 것은?