Web

2022. 12. 12. 23:06·Security/Web Hacking

웹이란 무엇일까? 

> 월드 와이드 웹(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 요청, 응답 메세지의 구조 : 

> 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
'Security/Web Hacking' 카테고리의 다른 글
  • 웹 해킹 기초
  • 전공 세미나 수업 - 해킹과 SQL 인젝션에 대하여
  • IP
  • 웹 보안
switch_user
switch_user
나의 공부 기록
  • switch_user
    while(true)
    switch_user
  • 전체
    오늘
    어제
    • 분류 전체보기
      • C
      • C++
      • Java
      • Python
      • Web
      • App
      • Security
        • Web Hacking
        • Reverse Engineering
      • DB
      • Machine Learning
      • Computer Science
      • Linux
      • Algorithm
      • 진로
      • 기타
  • 블로그 메뉴

    • 홈
    • 태그
    • velog
    • Github
  • 링크

    • velog
    • Github
  • 공지사항

  • 인기 글

  • 태그

    x64dbg
    리버싱
    ml
    웹해킹
    race condition
    모델 기반 학습
    어셈블리
    cin.getline
    클래스 외부에 함수 구현
    비트연산
    생성자와 소멸자
    인터프리팅
    디컴파일
    Hacking Process
    코드 패치
    머신러닝
    사례 기반 학습
    SQLi
    쿠키
    HTML
    IDA
    어셈블리어
    웹
    반복문
    Web 기초
    SQL
    xss
    배치 학습
    HTTP
    CSS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
switch_user
Web

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.