웹 아키텍처일반적인 웹 아키텍처는 클라이언트 - 웹 서버 - 데이터베이스의 형태로 구성되어 있다.영역별로 프론트 엔드(Front-End)와 백 엔드(Back-End)로 나뉜다.웹 개발자들은 프론트 엔드 개발자와 백 엔드 개발자로 나뉘며, 두개를 전부하는 풀스택 개발자도 있다.아래는 웹 아키텍처는 웹을 단순화 시킨 구조로 실제 환경은 이보다 훨씬 복잡하다.취약점 진단에 앞서서 웹 아키텍처에 대한 이해는 필수이다.프론트 엔드 = HTML, CSS, JavaScript백 엔드 = PHP, JSP, ASP 웹 아키텍처 동작 원리 분석클라이언트 측에서 사용자가 웹 브라우저를 통해 사이트 접속을 하게 된다.그러면 웹 브라우저에서는 가장 먼저 도메인에 따른 IP 변환 작업을 한다.이유는 데이터 전송을 위해서는 I..
URL 개념URL(Uniform Resource Locator) = 통합 자원 지시자인터넷의 리소스를 가리키는 표준 명칭으로 서버의 자원을 요청할 때 사용된다.URL로 인터넷 상의 모든 리소스를 요청할 수 있으며, 우리가 흔히 알고 있는 HTTP 뿐만 아니라 FTP, SMTP 관련된 자원 요청도 가능하다. 동작 원리(1)URL로 자원 요청 시 동작 원리는 아래와 같다.1. 클라이언트에서 URL로 자원 요청 - HTTP Request2. 웹 서버에서 URL에 해당하는 자원을 Body 에 담아서 반환 - HTTP Response URL 구조 분석 [01] 스키마- 사용하게 될 프로토콜이 명시되어 있는 부분으로 위의 URL은 http 프로토콜을 통해 자원을 요청한다. 그 외에도 https, ftp, fi..
웹의 기본 구조, 클라이언트/서버 구조웹은 클라이언트(Client)/서버(Server) 구조로 되어 있다.사용자 = 클라이언트 = 웹 브라우저(크롬, 엣지 등)서버 = 웹 서버 = 웹 어플리케이션 서버(WAS)웹 서버에 따라 PHP, JSP(JAVA), ASP 등 사용되는 언어가 다르다. 클라이언트/서버 통신 원리클라이언트 = 서비스를 이용하는 대상, 최초에 서비스 요청을 먼저 한다.서버 = 서비스를 제공하는 대상, 클라이언트 측으로부터 서비스 요청을 받게되면 그에 대한 서비스 제공클라이언트 → 서버로의 요청은 HTTP 요청 메시지(HTTP Request Message)라고 한다.서버 → 클라이언트로의 응답은 HTTP 응답 메시지(HTTP Response Messasge)라고 한다. 웹의 3대 요소..
웹 기초 지식의 필요성웹은 다수의 사용자가 특정 서비스를 이용하며, 서로 대화도 나누고 정보를 주고 받는 생태계 구조이다. 이러한 환경 속에서 취약점 진단을 수행하기 위해 최소한의 지식이 반드시 필요하다. 1. 웹 기초에 대한 이해- 웹 통신이 어떻게 이루어 지는지- GET, POST 메소드- 세션, 쿠키 2. 웹 어플리케이션에 대한 이해- php, jsp, asp(게시판 만들기 → .CRUD, 로그인, 로그아웃, 회원가입) 3. 웹 어플리케이션 로직에 대한 이해 4. 취약점에 대한 이해 5. 응용 취약점에 대한 이해- 웹 어플리케이션 로직에 대한 이해가 선행되어야 함 6. 대응책 수립 가능 웹의 탄생과 발전웹은 다수의 네트워크가 모여서 형성된 공간으로 디바이스에 대한 제약없이 웹 클라이언트 프로그..
웹🕸️ 인터넷을 기반으로 구현된 서비스 중 HTTP를 이용하여 정보를 공유하는 서비스를 웹이라 한다. 여기서 정보를 제공하는 주체를 웹 서버 (Web Server), 정보를 받는 이용자를 웹 클라이언트 (Web Client) 라고 한다. 식당에서 음식을 서빙하는 사람 (Server)과 음식을 주문하는 고객 (Client)의 관계로 생각하면 된다. 여기서, HTTP란 웹 상에서 서로 통신을 하기 위해 정해둔 일종의 규칙이다. 웹의 발전과 웹 보안의 중요성 초기 웹 서비스는 저장된 문서의 내용을 출력해 이용자에게 제공하는 간단한 서비스였다. 그런데 웹과 관련된 기술이 발전하면서 이제는 금융, 쇼핑, 협업 등 다양한 분야에서 이용자에게 편의를 주는 복잡한 서비스로 진화했다. 마이크로소프트 홈페이지의 과거와 현..