브라우저 보안은 중요하다.
그래서 socrative 문제로도 나왔다.
복습겸 풀이를 해보겠다.
A. 클라이언트와 서버가 서로 다른 origin에 있는 경우가 있으므로 CORS 기술이 도입되었다.
B. 서버쪽에서 클라이언트를 대상으로 리소스의 허용 여부를 결정하는 방법이다.
C. 클라이언트는 서버가 어떤 origin의 요청을 허용하는지 알 수 있다.
D. 같은 origin에서 fetch를 시도하면 CORS 문제가 발생하지 않는다.
풀이)
A. 클라이언트와 서버가 서로 다른 origin에 있는 경우가 있으므로 CORS 기술이 도입되었다.
-> X, 클라이언트가 안전하게 다른 Origin으로부터 리소스를 얻을 수 있도록 허용하는 정책을 만들었고 이것이 “Cross-Origin Resource Sharing” (CORS)이다.
B. 서버쪽에서 클라이언트를 대상으로 리소스의 허용 여부를 결정하는 방법이다.
-> X, 최초에 리소스를 제공한 출처(origin)와 다른 출처의 리소스를 요청하는 경우(cross-origin 요청), 특정 HTTP header를 사용하여 웹 애플리케이션의 cross-origin 요청을 브라우저가 제한적으로 허용하는 정책이다.
C. 클라이언트는 서버가 어떤 origin의 요청을 허용하는지 알 수 있다.
-> O, 클라이언트는 preflight(사전 전달)요청을 통해서 요청에 대한 응답의 헤더에 어떤 origin을 허용하는지 알 수 있다.
D. 같은 origin에서 fetch를 시도하면 CORS 문제가 발생하지 않는다.
-> X, 다른 origin에서 fetch를 시도한 CORS 문제가 발생한다.
따라서 답은 C
이다.
A. 프로토콜
B. 호스트 (도메인)
C. 포트번호
D. URL pathname
풀이)
origin이 같은(동일 출처) 경우는 프로토콜과 호스트(도메인)와 포트번호가 같은 경우이다.
따라서 답은 A,B,C
이다.
A. 실질적인 요청 전, OPTIONS 메서드를 통해 발생한다.
B. 실제 요청이 안전한지 서버가 미리 파악할 수 있도록 하는 수단이다.
C. 모든 cross origin 요청이 preflight request를 발생시키는 것은 아니다.
풀이)
A. 실질적인 요청 전, OPTIONS 메서드를 통해 발생한다.
-> O, preflight request는 사전요청으로, OPTIONS 메서드를 통해 본 요청 전에 요청한다.
B. 실제 요청이 안전한지 서버가 미리 파악할 수 있도록 하는 수단이다.
-> O, preflight request(사전요청)을 함으로써 본 요청이 안전한지 미리 파악할 수 있다.
C. 모든 cross origin 요청이 preflight request를 발생시키는 것은 아니다.
-> O, simple request는 preflight request를 생략하고 바로 본 요청을 하는 것이다. 그러므로 모든 cross origin 요청이 preflight request를 발생시킨다고 보긴 어렵다.
따라서 답은 A,B,C
전부이다.
A. 정상적인 웹 앱에 악성 스크립트를 주입하는 공격이다.
B. 현대 브라우저의 경우, 보통 XSS 공격에 대한 기본적인 방어는 마련해 두고 있다.
C. input 태그 등 클라이언트에 대한 입력을 통해 발생하는 경우가 많으므로, 스크립트를 일반 문자열로 변환하는 필터 장치를 마련하여 예방할 수 있다.
D. 해커가 피싱 페이지에 접속한 피해자의 인증 정보를 가로채 악용하는 공격이다.
풀이)
A. 정상적인 웹 앱에 악성 스크립트를 주입하는 공격이다.
-> X, XSS는 정상적인 웹이나 어플에 악성 스크립트를 주입하여 공격한다.
B. 현대 브라우저의 경우, 보통 XSS 공격에 대한 기본적인 방어는 마련해 두고 있다.
-> X, XSS 방어 방법에는 화이트 리스트, 라이브러리 사용, HTML entity 치환 등 다양한 방법이 있다.
C. input 태그 등 클라이언트에 대한 입력을 통해 발생하는 경우가 많으므로, 스크립트를 일반 문자열로 변환하는 필터 장치를 마련하여 예방할 수 있다.
-> X , 정규표현식을 활용하여 클라이언트 input 태그 등을 통해 서버로 인입될 수 있는 <
를 %lt
등으로 변환해주는 필터장치를 마련하여 예방한다.
D. 해커가 피싱 페이지에 접속한 피해자의 인증 정보를 가로채 악용하는 공격이다.
-> O, CSRF에 관한 설명이다.
따라서 답은 D
이다.