Web 기본
2024.07.1.1 - 07.17.
총 2명의 강사분과 총 5일의 시간동안 웹과 개발과 트렌드 이해, 그리고 간단한 해킹 실습을 통해 웹을 배웠다.
그 과정을 정리하고자 한다.
보안 과정인만큼 가장 중요한 내용은 웹보다도 해킹!
우선 웹의 구조에 대해 빠르게 이해(복습)하고, 그 다음에 메인 내용에 대한 정리를 해보려고 한다.
🤔 Web(World Wide Web)이란
- 쉽게 말해, 인터넷에 연결된 컴퓨터로 사람들이 정보를 공유할 수 있는 세계적인 정보 공간
- HTTP 프로토콜, 하이퍼텍스트, HTML 형식 등을 통해 그림과 문자를 교환하는 전송 방식을 말하기도 한다.
🤔 HTTP
- Hyper Text Transfer Protocol로, 웹 서버와 사용자의 인터넷 브라우저 사이의 문서 전송을 위해 존재하는 통신 규약.
- www상에서 주로 HTML 문서를 주고 받는데 사용되는 7계층의 프로토콜.
- default는 HTTP.
- 보안이 포함된 프로토콜은 HTTPS. (HTTP + 보안 = HTTPS)
web server?
- 사용자에게 웹 페이지/애플리케이션을 제공하는 소프트웨어
- Apache, Nginx 등이 존재한다.
- 정적 컨텐츠 제공 이 웹 서버의 역할!
위와 같이 웹 구조에 대해 (아주) 간략히 공부했다.
웹 해킹 공부를 위해서는 해킹이 발생하는 이유와 트렌드에 대해 알고갈 필요가 있다.
그 전에 웹 공부할 때 질리도록 듣는 쿠키와 세션에 대한 개념을 다시 복습하고 이 두 개의 차이점을 비교하며 이해해보았다.
🍪 Cookie & Session
Cookie
- 웹 사이트에 접속할 때 생성되는 정보를 저장하는 임시 파일
- 웹 사이트에 저장되는 데이터
key:value의 String 형태-
이때, 브라우저마다 저장되는 쿠키가 다르다.
→ 서버는 브라우저가 다르면 다른 사용자로 인식한다.
Cookie 사용 목적
웹 브라우저와의 연결을 지속시키기 위함
- 세션 관리 (로그인, 장바구니 등)
- 개인화 (사용자마다 적절한 페이지 보여주기)
- 트래킹 (사용자 행동/패턴 분석, 기록)
ex>
- 로그인, 장바구니 등 서버가 알아야할 정보 저장
- ID 저장, 로그인 상태 유지
- 일주일간 다시 보지 않기
- 최근 검색한 상품을 광고로 추천
- 쇼핑몰 장바구니 기능
Cookie의 단점
-
개인정보 저장
웹 브라우저 자체에 쿠키 거부 기능을 사용. 그러나, 쿠키 본래의 목적을 잃음
-
보안에 취약
서버가 아닌, 사용자(의 웹 브라우저)에게 저장되므로 임의 수정 및 가로채기에 취약
이러한 단점을 보완하기 위해 등장한 것이 Session.
Session
- 1 웹브라우저 = 1 Session 생성
- 브라우저 종료시 소멸
- 로그인 사용자에 대한 세션뿐만 아니라, 로그아웃하면 새로운 사용자로 인식해서 새로운 세션을 생성
- 아이디, 이름 등 정보를 세션에 담아두면 요청 때마다 DB를 들리지 않아도 되어 효율적
| Cookie | Session | |
|---|---|---|
| 정보 저장 | Client에 저장 | Server에 저장 |
| 사용 용도 | 서버 부하를 줄이는 용도 | 인증 정보에 많이 사용 |
| 전송 | Set-Cookie header를 통해 전송 (ex. Set-Cookie: name=value) “쿠키를 굽는다”고 표현. |
Key> Cookie Session key> Cookie(Set-Cookie) |
| 특징 | plain text로 조작 가능 위험 | Seesion key 값은 유추할 수 없어야 함 |
Written on July 11, 2024