TeamH4C

[빡공팟 5기] W4 : Web Hacking 로드맵 - STAGE 1 - 2

이유갬 2022. 10. 12. 22:38

introduction of Webhacking

 

1. 웹이란 무엇인가?

: HTTP 를 이용하여 정보를 공유하는 통신 서비스를 말한다.

: 서비스를 요청하고 받는 사용자는 웹 클라이언트(Web Client)

: 웹 서비스를 제공하는 대상을 웹 서버(Web Server) 라고 한다.

 

2. 웹 기초 지식

: 웹 브라우저는 사용자가 웹과 HTTP 의 원리를 알지 못해도 서비스를 사용할 수 있도록 도와주는 소프트웨어다.

: 모든 취약점은 사용자의 입력 값에서부터 발생한다. -> 사용자의 입력 값은 웹 브라우저를 통해서 전송되므로 웹 해킹을 공부하기 위해서는 브라우저가 하는 행위를 필수적으로 이해해야 한다!

: 웹 리소스웹에서 사용하는 콘텐츠를 의미하는데 이때 웹 리소스를 가리키는 주소URL(Uniform Resource Locator) 라고 한다.

+ ) 최근 들어 추상화된 경로를 사용함.

 

- URI 와 URL 의 차이?

URI (Uniform Resource Identifier) : 리소스를 식별하기 위한 식별자

URL (Uniform Resource Locator) : 리소스의 위치를 식별하기 위한 URI 의 하위 개념

-> 요즘은 혼용해서 사용하는데 드림핵에서는 상위 개념인 URI 로 설명한다.

 

(URI 의 구성요소)

1. Scheme : 웹 서버에 접속할 때 어떤 프로토콜을 이용할지에 대한 정보를 담고 있다.

2. Host : Authority 의 일부로 접속할 웹 서버의 호스트(서버 주소)에 대한 정보를 가지고 있다. -> example.com

3. Port : Authority 의 일부로 접속할 웹 서버의 포트 번호에 대한 정보를 가지고 있다. -> 8042

4. Path : 접속할 웹 서버의 경로에 대한 정보를 가지고 있으며 / 문자로 구분된다. -> ex) /var/www/html/index.html

5. Query : 웹 서버에 전달하는 파라미터이며 URI 에서 ? 문자 뒤에 붙는다. -> ex) board.php?idx=32

6. Fragment : 메인 리소스 내에 존재하는 서브 리소스에 접근할 때 이를 식별하기 위한 정보를 담고 있고 # 문자 뒤에 붙는다.

 

- 인코딩과 디코딩이란?

인코딩(Encoding) : 문자 또는 기호 등의 정보와 형태를 표준화, 보안 등의 목적으로 다른 형태와 형식으로 변환하는 처리 또는 처리 방식을 말한다.

디코딩(Decoding) : 위와 같이 인코딩으로 변환 된 형태를 원래의 형태로 변환한다.

인코딩(Encoding)과 인크립션(Encryption)의 차이는?
인코딩 : 알고리즘이 모두 공개되어 있으며 키와 같은 요소가 포함되어 있지 않아 모두가 원래 정보로 복원이 가능하다.
인크립션 : 양방향 암호 알고리즘이며 일치한 알고리즘과 유효한 키를 가지고 있다면 원래의 정보로 복원 가능하다.

 

- 인코딩은 어쩔 때 사용할까?

: URI 구조내에서 이미 용도가 정해져 있는 예약어(구분자)로 사용되는 문자들을 전송할 때 사용한다.

: 예약어같은 경우, URI 구조내에서 문법적으로 중요한 의미를 가지고 있으므로 문법적인 사용이 아니면 반드시 인코딩하고 사용해야한다.

http://example.com/?a=%3Fb&c=%26d 같은 형태이다.

 

이후, HTTP/HTTPS 와 쿠키&세션에 대한 내용이 나오는데 이는 중요한 내용이므로 따로 분류해서 정리할 예정이다.