본 포스팅은 DreamHack 사이트의 Introduction of Webhacking 강의 내용을 요약한 것입니다.

이 글은 저의 취향에 맞춘 정리글이므로 Dreamhack 사이트의 내용을 보시기 바랍니다.
https://dreamhack.io/

 

해커들의 놀이터, DreamHack

해킹과 보안에 대한 공부를 하고 싶은 학생, 안전한 코드를 작성하고 싶은 개발자, 보안 지식과 실력을 업그레이드 시키고 싶은 보안 전문가까지 함께 공부하고 연습하며 지식을 나누고 실력 향상을 할 수 있는 공간입니다.

dreamhack.io


웹(WEB): HTTP를 이용하여 정보를 공유하는 통신 서비스

 

웹 서버(Web Server): HTTP를 이용해 정보를 공유하는 서비스를 제공하는 대상

 

웹 클라이언트(Web Client): HTTP를 이용해 정보를 공유하는 서비스를 받는 사용자

 

Web Browser: 웹에 접속하기 위해 사용하는 소프트웨어입니다.

HTTP를 통해 인터넷 상에서 통신을 하며 서버로부터 전달받은 다양한 웹 리소스들을 가공해 사용자가 웹과 HTTP의 동작 원리를 알지 못해도 웹을 사용할 수 있도록 도와주는 소프트웨어입니다. 주로 Chrome, Edge, Safari, Firefox 등이 있습니다. 

 

Web Resource: 웹 상에 존재하는 모든 콘텐츠입니다(HTML, CSS, JS, PDF...)

 

URI(URL): Uniform Resource Identifier의 약자로 리소스를 식별하기 위한 식별자입니다.

우리가 좀 더 친숙한 URL은 Uniform Resource Locator의 약자로 리소스의 위치를 식별하기 위한 URI의 하위개념입니다.

URI는 Scheme, Authority(Userinfo, Host, Port), Path, Query, Fragment의 구성을 가집니다.

 

HTTP: 인터넷 서비스에서 서비스 대상 간 통신 규약인 프로토콜 중 웹을 이용하기 위한 프로토콜입니다. URI의 Scheme에 해당합니다. 이는 컴퓨터 내부나 사이에서 어떻게 데이터가 교환되는지 정의하는 규칙 체계입니다.

 

HTTPS: HTTP 데이터를 암호화하여 통신합니다. HTTP의 평문 전송을 보완하기 위해 등장했습니다.

 

Cookie: 웹 브라우저에 저장되는 데이터입니다. HTTP의 요청마다 새로운 커넥션을 열 때 사용자 인증을 계속해야 하는 문제점을 보완하기 위해 상태를 유지하는 Cookie라는 개념이 나왔습니다.

데이터를 key=value;쌍으로 쿠키에 저장하고 만료시간, 접근권한 등 추가 옵션도 설정할 수 있습니다.

 

Session: 서버에 저장하는 데이터입니다. 데이터를 서버에 저장하고 해당 데이터를 접근할 수 있는 유추할 수 없는 랜덤 문자열 키를 만들어 응답합니다. 이후 HTTP 요청을 보내면 키에 해당하는 데이터를 가져와 인증 상태를 확인합니다.

 

Domain Name: 인터넷 네트워크상에서 컴퓨터를 식별하는 이름입니다.(ex. www.naver.com)

 

Server: 인터넷상에서 사용자에게 서비스를 제공하는 컴퓨터입니다. 그 중 웹 서버는 사용자와 HTTP를 이용하여 통신하는 서버입니다.

 

Application: 서버에서 설정한 특정 기능들을 수행하는 소프트웨어입니다.

 

Database: 데이터를 저장하기 위해 사용하는 데이터 저장소입니다.

 


웹 해킹

Client-side Attack

서비스 사용자에 대한 공격을 의미합니다.

웹 서버가 제공해주는 데이터가 공격자에 의해 변조되었을 경우 웹 브라우저에서 렌더되는 과정에서 취약점이 발생하는 경우가 대표적입니다.

 

Server-side Attack

서비스를 운용하는 서버에 대한 공격을 의미합니다.

공격에 성공하게 되면 서버의 어플리케이션 코드 또는 다른 사용자의 정보, 서버 탈취 등의 공격으로 발전될 수 있습니다.

 

'Hacking-기초 > WebHacking' 카테고리의 다른 글

파일 업로드/다운로드 취약점 공격  (0) 2020.05.27
Client-Side Advanced  (0) 2020.04.28
OWASP Top 10  (0) 2020.04.26
Server-Side Basic  (0) 2020.04.22
Client-side Basic  (0) 2020.04.21

+ Recent posts