또 뭐하지
[기초] 웹 개념 간략 정리 본문
728x90
Sever-Client
웹 서버에 있는 리소스를 클라이언트가 받아 보려면, 클라이언트는 웹에게 특정 리소스를 지정하여 제공해달라고 요청해야 함. 이때, 서버는 해당 요청을 이해하고 대응되는 동작을 통해 클라이언트에게 리소스 반환함.
Cookie
- 클라이언트의 정보 기록과 상태 정보를 표현하는 용도로 사용
- 정보 기록 : 웹 서버는 각 클라이언트의 팝업 옵션을 기억하기 위해 사용
- 상태 정보 : 웹 서버는 클라이언트를 식별할 수 있는 값을 저장하여 사용
- HTTP
- 하나의 Request와 Response의 쌍이 독립적으로 구성되어 통신
- connectionless 속성 : 하나의 요청에 하나의 응답을 한 후 네트워크 연결을 끝맺는 것
- stateless 속성 : 네트워크가 연결이 끝맺을 때 상태를 유지하지 않는 것
- 위와 같은 속성 때문에 HTTP 요청마다 사용자 인증을 해야되는데, 상태를 유지하기 위해서 cookie가 탄생함
- 하나의 Request와 Response의 쌍이 독립적으로 구성되어 통신
- Cookie 가 있는 통신
- 클라이언트는 서버에 요청을 보낼 때마다 쿠키를 포함하고, 서버는 해당 쿠키를 통해 클라이언트를 식별함
- 하지만, 서버가 별다른 검증 없이 쿠키를 통해 이용자의 인증 정보를 식별한다면 쿠키 변조를 통해 공격자가 타 이용자를 사칭해 정보 탈취가 가능함.
Session
- 세션은 일정 기간동안 같은 사용자(클라이언트)로부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 일정하게 유지시키는 기술
- 쿠키에 인증 상태를 저장하지만, 클라이언트가 인증 정보를 변조할 수 없도록 하기 위해 사용
- 인증 정보를 서버에 저장하고 해당 데이터에 접근할 수 있는 키 (랜덤 문자)를 만들어 클라이언트에 전달하는 방식
- 브라우저 -> 해당 키를 쿠키에 저장하고 이후 HTTP 요청을 보냄
- 서버 -> 요청에 포함된 키에 해당하는 데이터를 가져와 인증 상태를 확인
개발자 도구 (F12)
- 요소 검사 버튼 : 웹 페이지의 각 요소에 마우스를 갖다대고 클릭하면 해당 코드를 쉽게 찾을 수 있음
- 디바이스 툴바 버튼 : 현재 브라우저의 화면 비율 및 User-Agent를 원하는 값으로 변경 가능
- Elements : 페이지를 구성하는 HTML 검사
- Console : 자바 스크립트를 실행하고 결과 확인
- Sources : HTML, CSS, JS 등 페이지를 구성하는 리소스 확인 및 디버깅
- Network : 서버와 오가는 데이터 확인
- Application : 쿠키를 포함한 웹 어플리케이션과 관련된 데이터 확인
URI(URL)
- URI (Uniform Resource Identifier)
: 인터넷에서 특정 리소스를 나타내는 유일한 주소. URL(Uniform Resource Locator)과 URN(Uniform Resource Name)의 두 가지 형태로 나뉨. - URL (Uniform Resource Locator)
: 인터넷 상의 특정 리소스의 위치를 지정하는 URI의 하위 집합. 일반적으로 프로토콜(예: HTTP, HTTPS), 호스트(웹 사이트의 도메인 이름), 리소스의 경로 및 파일 이름 등의 구성 요소로 구성.
ex) "https://www.example.com/page.html" -> HTTPS 프로토콜을 사용하여 "www.example.com" 호스트에 위치한 "page.html"이라는 파일
포트
- 호스트 내에서 실행되고 있는 프로세스를 구분짓기 위한 16비트의 논리적 할당
- 0~65536개의 개수 가짐
- IP주소는 컴퓨터를 찾을 때 필요한 주소, 포트는 컴퓨터 안에서 프로그램을 찾을 때 사용
- 포트 번호
- 0번 ~ 1023번 : well-known port (ex. 80 : HTTP / 443 : HTTPS)
- 1024번 ~ 49151번 : registered port
- 49152번 ~ 65535번 : dynamic port (동적 포트)
PHP
- Hypertext Preprocessor : C언어를 기반으로 만들어진 서버 측에서 실행되는 서버 사이드 스크립트 언어
Burp Suite
- 웹 응용 프로그램의 보안 테스트 도구
- 웹 애플리케이션, 모바일 서비스 등을 대상으로 요청에 대한 클라이언트를 대신하여 중간에 만날 수 있는 모든 환경 작업을 수행하기 위한 프록시 서버 기능을 가짐
'I.sly() > 9기 기초 - 공통' 카테고리의 다른 글
[기초] 리버싱 개념 간략 정리 (0) | 2024.05.09 |
---|---|
[기초] 웹 해킹 개념 간략 정리 (0) | 2024.04.04 |
[기초] OverTheWire:Bandit - level 0~level 6 (0) | 2024.03.28 |
[기초] 리눅스 개념 간략 정리 (0) | 2024.03.28 |
[기초] 컴퓨터구조, 자료구조, 알고리즘 간략 정리 (0) | 2024.03.22 |