728x90
XSS, CSRF 등과 같은 클라이언트단에서 발생할 수 있는 원천을 차단
SOP (Same Origin Policy)
웹 브라우저에서 동작하는 스크립트나 요청이 특정 출처에서 온 것인지 확인하는 규칙
-> 요청과 출처가 일치하지 않으면 차단
CORS (Cross Origin Resource Sharing)
웹 브라우저의 요청이 안전한 출처로의 요청인지 검증
SOP에 의해 모두 차단되어야하지만 외부 스크립트, 이미지 등을 사용하기 위해 허용해주는 정책
CORS를 통해 요청을 보내고, 응답 값을 통해 수행
브라우저는 SOP에 위배되면 요청이 불가능
어떻게 먼저 요청을 하여 응답 값을 가져오고, 해당 응답 값에서 CORS 헤더를 가져와 CORS 정책을 판단?
-> 브라우저는 이미지, js 등을 우선 요청을 보내고 후에 CORS를 판단
서버에 요청이 들어가는 것만으로도 브라우저가 받아드리는 것과는 상관없이 일단 응답
-> 이는 서버단에서 막을 수 없음
preflight
OPTIONS 헤더를 통해 지금 보내는 요청이 유효한지를 검사
엄청 큰 용량의 데이터를 전송하는 경우 CORS를 위반하는 요청이라면 무작정 보내게되므로 리소스를 낭비하게 된다.
CSP (Content Security Policy)
SOP, CORS는 어떤 요청을 검증
CSP는 브라우저에서 동작하는 태그, js 등을 제어
-> 서버에서 허용한 동작만 브라우저에서 수행되도록 설정하는 정
'Hacking > web' 카테고리의 다른 글
[Web] SQL Injection (0) | 2024.07.01 |
---|---|
[Web] 클라이언트단 - XSS, Open Redirection, CSRF (0) | 2024.07.01 |
[Web] 개요 (0) | 2024.07.01 |