웹이란 무엇일까?
> 월드 와이드 웹(World Wide Web), 인터넷에 연결된 사용자들이 서로의 정보를 공유할 수 있는 공간을 말한다.
웹의 특징
> 하이퍼텍스트 방식(문서 내부에 또 다른 문서로 연결되는 참조를 집어 넣음으로써 웹 상에 존재하는 여러 문서끼리 서로 참조할 수 있는 기술)을 사용하여 인터넷 상에서 텍스트나 그림, 소리, 영상 등과 같은 멀티미디어 정보를 연결하여 제공한다.
웹 페이지의 구성
> HTML(구조), CSS(스타일), JavaScript(동작)
웹 아키텍처
>

웹은 크게 프레젠테이션 티어, 로직 티어, 데이터 티어라는 3계층 구조로 이루어져 있다. 클라이언트 영역과 서버 영역으로 나누자면 프레젠테이션 티어는 클라이언트 영역에 들어가고 나머지 로직 티어와 데이터 티어는 서버 영역에 들어간다.
프레젠테이션 티어(웹브라우저) : 프레젠테이션이라는 말 그대로 우리에게 보여지는 화면을 말한다. 그 속에서 우리는 검색, 정보 취득 등을 한다.
로직 티어(웹 서버와 웹 프레임워크) : 클라이언트로부터 전송된 HTTP 요청을 처리하고 그 결과를 응답해주는 역할을 한다. 필요에 따라 데이터 티어와 통신을 하기도 한다. 데이터 티어로부터 요청에 대한 응답을 받았을 경우에는 데이터를 가공하여 최종적으로 클라이언트에게 다시 전달한다.
데이터 티어(데이터베이스) : 데이터 티어는 데이터베이스 관리 시스템(DBMS)과 데이터베이스로 이루어지며 로직 티어로부터 들어오는 SQL 쿼리문과 같은 요청에 따라 데이터를 처리하여 결과를 응답해준다.
HTTP
> Hyper Text Transfer Protocol, 웹을 구현하기 위한 네트워크 프로토콜이다. 프로토콜이란 송신 호스트와 수신 호스트, 즉 클라이언트와 서버가 서로 통신을 하기 위한 일종의 규약 같은 것이다.
예시 - http://www.naver.com (로그인과 같이 중요한 정보가 통신될 때는 암호화 통신을 위해 http:// 대신 https://를 붙여서 HTTPS로 접속하기도 한다.)
> HTTP 통신은 요청과 응답 두 가지로 구성된다. 클라이언트 영역에서 서버영역으로 HTTP 요청을 전송하고, 웹 서버는 해당 요청을 처리한 후 HTTP 응답을 통해 그 결과를 반환한다.

> HTTP 요청, 응답 메세지의 구조 :


> HTTP 메소드 :

메소드는 서버에게 어떤 명령을 실행할지 알려주는 역할을 하며 자주 사용되는 메소드는 POST, GET, PUT, DELETE 말고도 HEAD(지정된 리소스의 응답 헤더만 요청), OPTIONS(지원되는 메소드 표시) 등이 있다.
> HTTP 응답 코드 :

세션 유지와 쿠키
> HTTP는 stateless이기 때문에 세션 ID를 사용해서 이전 상태를 유지한다. (예 : 한번 로그인을 하면 다시 물어보지 않음)
> 세션 ID는 보통 쿠키로 전달한다.(하지만 파라미터나 URL을 통해 전달되는 경우도 있다.)
> 쿠키란? : 변수와 값의 쌍으로 구성된 집합. 여러 요청에 걸쳐 클라이언트에서 동일한 데이터를 전달할 필요가 있을 때 사용한다. (Cookie : cookie1=value1, cookie2=value2)
> 서버는 Set-Cookie 헤더를 이용해 쿠키를 전달하고, 브라우저에서 이를 저장해두었다가 Cookie 헤더에 전송한다.
> 세션 ID를 탈취함으로 세션 하이재킹 공격이 가능하다.
'Security > Web Hacking' 카테고리의 다른 글
웹해킹 기초 문제 풀이 - 1 (0) | 2025.01.22 |
---|---|
웹 해킹 기초 (0) | 2025.01.09 |
전공 세미나 수업 - 해킹과 SQL 인젝션에 대하여 (0) | 2022.12.22 |
IP (0) | 2022.12.21 |
웹 보안 (0) | 2022.12.13 |