////
Search

www.naver.com 까지 가는 과정

1.
브라우저 캐시 → 쿠키, 로컬스토리지 등을 포함한 캐시를 확인해서 캐싱할 수 있는 걸 캐싱함
2.
DNS를 찾아서 도메인을 ip로 바꿔준다.
3.
IP 라우팅
a.
해당 IP를 기반으로 라우팅, ARP 거쳐서 실제 서버
4.
TCP 연결 구축
5.
컨텐츠 다운로드
6.
브라우저 렌더링

CORS

아래 타입이 아닌게 포함되어있으면 pre-flight를 보냄. 아니면 simple request 보냄.
pre-flight는 options method로 먼저 보내보고, Access-Control-* 헤더로 응답
메서드 타입
GET
HEAD
POST
헤더
Accept
Accept-Language
Content-Language
Content-Type
application/x-www-form-urlencoded
multipart/form-data
text/plain
Range (참고로 fireforx 브라우저는 해당 헤더를 허용하지 않습니다.)

XSS

입력 필드에 코드를 집어넣어서 다른 사람이 접속했을 때 뜨도록 함.
방어기술
입력값 검증
출력 값 처리
HTML 특수문자를 특정 형식으로 변환하여 일반 텍스트로 인식하도록
컨텐츠 보안 정책
브라우저가 로드하거나 실행할 수 있는 리소스의 출처를 명시적으로 제어하는 HTTP 헤더
HttpOnly 쿠키
javascript를 통해 쿠키 값에 접근하는 것을 막아 XSS 공격으로 인한 쿠키 탈취를 방지

CSRF

사용자가 의도하지 않은 요청을 특정 웹사이트에 보내도록 유도하는 공격
보안 방법
사용자의 폼마다 고유한 토큰을 발급하고 서버에서 검증
쿠키옵션 중 SameSite=Strict 적용해서 타도메인에서 쿠키가 전송되지 않게 함