먼저 브라우저가 무엇인지부터 알고 가면 좋을 것 같다. 브라우저란?인터넷을 통해 웹 페이지를 탐색하고 사용할 수 있도록 도와주는 소프트웨어이다.HTML, CSS, JS를 이용하여 웹 페이지를 해석하고 렌더링한다. 브라우저는 위의 사진과 같이 구성되어 있다.사용자 인터페이스우리가 사용하는 브라우저의 주소 표시줄, 이전/다음 버튼 등 직접 상호작용하는 부분이다.브라우저 엔진사용자 인터페이스와 렌더링 엔진 사이의 동작을 제어한다.DOM 자료구조를 구현한다.렌더링 엔진HTML 및 CSS를 해석하여 화면에 출력하는 역할을 한다.통신HTTP 요청과 같은 네트워크 호출에 사용된다.자바스크립트 해석기JS는 한 줄씩 읽어가며 파싱하는 언어이기 때문에 해석기가 필요하다.자바스크립트 엔진이라고도 불린다.UI 백엔드렌더링 엔..
XSS란Cross Site Scripting으로 웹 사이트에 악성 스크립트를 주입하는 행동을 의미함클라이언트 사이드 취약점사용자 뿐만 아니라 서버도 공격 가능함CSRF와의 차이점CSRF- 특정 사이트가 사용자를 신뢰한다는 점을 공격, 악성코드가 서버에서 발생- 권한 도용이 목적 XSS- 사용자가 특정 사이트를 신뢰한다는 점을 공격, 악성코드가 클라이언트에서 발생- 쿠키, 세션 탈취, 웹사이트 변조가 목적 XSS 공격 종류- Stored XSS해커가 악성 스크립트를 DB에 저장시키고 사용자에게 악성 스크립트를 보내는 것이다.DB에 계속 저장되기 때문에 지속적으로 공격을 한다. 예를 들어, 해커는 게시글 작성을 통해 악성 스크립트를 DB에 저장시킨다.(ex 게시글 조회 시 쿠키 내놔)다른 사용자들이 해당 게..
CSRF란Cross Site Request Forgery으로 사이트 간 요청 위조를 의미함사용자가 특정 행위를 웹사이트에 요청하도록 하는 공격(사용자의 의지X)해커의 요청이 사용자의 요청인 것 처럼 속이는 방법CSRF 동작원리CSRF 공격이 성공하기 위해서는 3가지 조건을 만족해야 한다.사용자가 보안이 취약한 사이트에 이미 로그인이 되어 있는 상태쿠키 기반의 서버 세션 정보를 획득할 수 있어야 함해커는 서버를 공격하기 위한 요청 방법에 대해 미리 파악하고 있어야 함위의 3가지 조건을 만족한다면 아래와 같은 절차로 동작한다.사용자가 사이트에 로그인session ID가 사용자의 브라우저 쿠키에 저장해커는 사용자가 악성 스크립트 페이지를 누르도록 유도악성 스크립트가 작성된 페이지에 접근하게 되면 웹 브라우저에..
TCP/IP 4계층먼저 TCP/IP는 하나의 프로토콜이 아니다.IP 주소 체계를 따르고, IP Routing을 이용해 목적지에 도달하며 TCP의 특성을 활용하는 것이다.즉, IP 주소를 사용하여 데이터를 전달하고, 그 데이터가 제대로 전달되었는지를 확인하겠다는 것이다. - Application Layer응용 프로그램에서 사용하는 프로토콜을 정의하는 계층으로, 사용자와 직접적인 상호작용이 이루어진다.HTTP, FTP, SMTP 등의 프로토콜이 이 계층에서 동작한다. - Transport Layer송수신의 논리적 연결을 담당하는 부분으로 신뢰성 있는 연결을 유지할 수 있도록 도와준다.TCP와 UDP가 이 계층에서 동작한다. - Internet Layer데이터의 경로와 목적지를 찾아주는 역할을 한다(Routi..
CDN이란Content Delivery Network전 세계에 분산된 서버 네트워크사용자에게 빠르고 효율적으로 콘텐츠를 전달하기 위해 만들어짐웹 페이지나, 이미지, 동영상 등의 정적 컨텐츠를 더 가까운 위치에서 빠르게 제공함지리적인 제약 없이 전 세계 사용자에게 빠르고 안전하게 컨텐츠를 제공할 수 있는 기술이다.CDN을 사용하는 이유물리적 거리전세계 사람들이 서버에 접속하는 경우, 물리적 거리가 멀기 때문에 접속 속도가 느려진다.CDN은 전 세계에 서버를 분산시켜두고 사용자에게 가장 가까운 위치에 있는 서버로 매핑시켜준다.수많은 요청 분산수많은 요청이 하나의 서버로 들어오면 서버가 과부하로 인한 오류가 발생될 수 있다. CDN은 서버를 분산시켜두기 때문에 요청을 분산시킬 수 있다.CDN의 작동 원리CDN..