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


  • 웹 사이트에 접속할 때 생성되는 정보를 저장하는 임시 파일
  • 웹 사이트에 저장되는 데이터
  • key:value의 String 형태
  • 이때, 브라우저마다 저장되는 쿠키가 다르다.

    서버는 브라우저가 다르면 다른 사용자로 인식한다.


웹 브라우저와의 연결을 지속시키기 위함

  1. 세션 관리 (로그인, 장바구니 등)
  2. 개인화 (사용자마다 적절한 페이지 보여주기)
  3. 트래킹 (사용자 행동/패턴 분석, 기록)

ex>

  1. 로그인, 장바구니 등 서버가 알아야할 정보 저장
  2. ID 저장, 로그인 상태 유지
  3. 일주일간 다시 보지 않기
  4. 최근 검색한 상품을 광고로 추천
  5. 쇼핑몰 장바구니 기능


Cookie의 단점

  1. 개인정보 저장

    웹 브라우저 자체에 쿠키 거부 기능을 사용. 그러나, 쿠키 본래의 목적을 잃음

  2. 보안에 취약

    서버가 아닌, 사용자(의 웹 브라우저)에게 저장되므로 임의 수정 및 가로채기에 취약

    이러한 단점을 보완하기 위해 등장한 것이 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