선릉역 1번 출구

Introduction of Webhacking(2) 본문

Hacking & Security/Hacking

Introduction of Webhacking(2)

choideu 2021. 8. 2. 17:26

Cookie

http가 connectionless, stateless protocol이라서 탄생한 개념이다. 

connectionless: 하나의 요청에 하나의 응답을 한 후 네트워크 연결을 끝맺음 하는 것이다.

stateless: 네트워크가 연결이 끝맺을 때 상태를 유지하지 않는 것이다. (http 요청마다 새로운 커넥션을 열기 때문에 사용자 인증을 계속해서 해야 한다는 단점이 있음) -> 상태를 유지하기 위한 Cookie가 탄생

 

웹 브라우저는 http set-cookie header나 js document.cookie를 통해 데이터를 쿠키에 저장한다.

쿠키는 인증 상태를 포함할 수 있는데 eve같은 malicious한 attacker가 와도 쿠키를 통해(사용자의 브라우저에 저장) 정보의 손실이 발생할 수 있다는 것이 단점이다. 

-> 쿠키에 인증 상태를 포함한 데이터를 저장하면 요청을 조작할 수 있기 대문에 서버에 데이터를 저장하기 위해 Session(세션)을 사용한다.

세션을 활용하면 데이터를 서버에 저장하고 해당 데이터에 접근할 수 있는 유추할 수 없는 랜덤한 문자열 키를 만들어 응답한다. 이를 보통 Session ID라고 부른다. 브라우저는 이 키를 쿠키에 저장하고 이후 HTTP에 요청을 보내면 서버에서 키에 해당하는 데이터를 가져와 인증 상태를 확인한다.

즉 쿠키는 데이터 자체를 사용자가 저장, 세션은 서버가 저장한다는 핵심적인 차이가 있다.

 

URI의 구성요소 중 Host는 웹 브라우저가 어디에 연결할지 정하게 되는데 이때 Domain Name나 IP address를 사용한다. 숫자로 이루어진 ip address는 입력하기 어렵기 때문에 보통 Domain name를 사용한다.

Domain name을 이용해 host를 조회할 때는 domain name과 ip address를 매핑해 저장하는 domain name serve(DNS)에서 조회해 등록된 ip address를 가져와 사용한다.

*nslookup을 사용해서 domain name의 정보 확인이 가능하다

 

web server

https://developer.mozilla.org/ko/docs/Learn/Common_questions/What_is_a_web_server

 

웹 서버란 무엇일까? - Web 개발 학습하기 | MDN

여기서 우리는 웹 서버가 무엇인지, 어떻게 동작하는지, 왜 중요한지를 알아볼 것입니다.

developer.mozilla.org

web application

https://ko.wikipedia.org/wiki/%EC%9B%B9_%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98

 

웹 애플리케이션 - 위키백과, 우리 모두의 백과사전

웹 애플리케이션(web application) 또는 웹 앱은 소프트웨어 공학적 관점에서 인터넷이나 인트라넷을 통해 웹 브라우저에서 이용할 수 있는 응용 소프트웨어를 말한다. 웹 애플리케이션은 클라이언

ko.wikipedia.org

 

'Hacking & Security > Hacking' 카테고리의 다른 글

webhacking study(3)  (0) 2021.08.16
webhacking study(2)  (0) 2021.08.10
webhacking study(1)  (0) 2021.08.10
Client-side attack(1)  (0) 2021.08.03
Introduction of Webhacking(1)  (0) 2021.08.02
Comments