Home (웹해킹) 1. web이란?
Post
Cancel

(웹해킹) 1. web이란?

웹 보안에 대해 공부하며 내용을 정리했습니다.

보통 웹이라고 하면 World Wide Web이라는 인터넷 상에서 정보를 공유하고 접근할 수 있게 해주는
정보 시스템을 뜻하지만 웹 보안에서 다루는 ‘웹’은 좀 더 넓은 범위를 포함하는 것 같다.

웹 브라우저로 접근하는 전통적인 웹사이트뿐만 아니라, 모바일 앱의 백엔드 서버, 클라우드 서비스,
IoT 기기와 통신하는 서버, 게임의 API 서버 등 현대의 대부분 애플리케이션이 웹 기술 기반으로 동작한다.

그렇기에 웹 보안은 웹 기술 전반을 다루며 웹 프로토콜과 기술을 사용하는 모든 시스템의 보안을 포함한다고 볼 수 있는 것 같다.

웹의 시작

웹의 시작은 1990년대에 연구자들 간의 정보 공유를 위해 발명된 World Wide Web(WWW)이다.

  • HTML (HyperText Markup Language): 문서 작성 언어
  • HTTP (HyperText Transfer Protocol): 통신 프로토콜
  • URL (Uniform Resource Locator): 리소스 주소 체계

를 통해서 웹사이트가 개발되었다.

인터넷과 웹의 차이

인터넷

인터넷은 전 세계 컴퓨터를 연결하는 네트워크 인프라로 TCP/IP 프로토콜 기반의 물리적 네트워크이다.

인터넷 위에서 동작하는 서비스 중 하나로 HTTP/HTTPS 프로토콜을 사용하여 정보를 공유하며 브라우저를 통해 접근한다.

인터넷은 도로망이고, 웹은 그 도로 위를 다니는 자동차 중 하나라고 할 수 있다.

인터넷을 사용하지만 웹이 아닌 것들로는

  • 이메일 (SMTP, POP3)
  • 파일 전송 (FTP)
  • 원격 접속 (SSH, Telnet)
  • P2P 파일 공유

등이 있다.

웹의 기본 구조

웹은 클라이언트-서버 모델로 동작한다.

클라이언트

서비스를 요청하는 쪽이다.

웹 브라우저:

  • Chrome, Safari, Firefox 등
  • HTML, CSS, JavaScript를 해석하여 화면에 표시

기타 클라이언트:

  • 모바일 앱 (내부적으로 HTTP API 호출)
  • API 테스팅 도구 (Postman, curl)
  • 웹 크롤러/봇

서버

클라이언트의 요청을 처리하고 응답을 제공한다.

일반적인 웹 서버 구조:

1
2
3
4
5
6
7
클라이언트 요청
    ↓
웹 서버 (Nginx, Apache, IIS)
    ↓  
애플리케이션 서버 (Node.js, Python, PHP, Java)
    ↓
데이터베이스 (MySQL, PostgreSQL, MongoDB)

웹 서버:

  • 정적 파일 제공 (HTML, CSS, JS, 이미지)
  • 요청을 애플리케이션 서버로 전달
  • 예: Nginx, Apache

애플리케이션 서버:

  • 동적 콘텐츠 생성
  • 비즈니스 로직 처리
  • 데이터베이스 연동
  • 예: Node.js, Django, Spring Boot

HTTP/HTTPS

클라이언트와 서버가 통신하는 프로토콜이다.

HTTP (HyperText Transfer Protocol)

  • 요청-응답 방식으로 동작하며 각 요청은 독립적
  • 기본 포트: 80

HTTPS (HTTP Secure)

  • HTTP + SSL/TLS 암호화
  • 데이터 암호화로 중간자 공격 방지
  • 서버 인증을 통한 신뢰성 확보
  • 기본 포트: 443
This post is written by PRO.