본 포스팅은 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 |