반응형

'웹 해킹'에 해당되는 글 2건

  1. 2020.10.28 HTTP와 Cookie에 대해
  2. 2020.10.27 Web에 대한 기초적인 개념 이해 - URI란 ? URI의 구조는 ?
웹 해킹2020. 10. 28. 21:07
반응형

HTTP와 Cookie에 대해

 

HTTP와 HTTPS

HTTP는 모든 데이터를 암호화 없이 평문으로 전송되기 때문에 악의적인 목적을 가진 해커와 같은 네트워크를 사용하게 된다면 MITM 공격과 같이 중간자 공격에 취약합니다.

HTTPS는 Secure Sockets Layer (SSL)를 사용하여 공개키 암호화를 사용해 사용자와 서버가 키를 교환하는 방식으로 데이터들이 암호화 되어 네트워크 상에서 전송되기 때문에 일반적으로는 통신 내용을 알아볼 수 없어 비교적 안전한 방식의 프로토콜입니다.

 

Cookie ?

Http 요청시 매번 새로운 커넥션이 이루어지기 때문에 사용자 인증도 매번 해줘야 한다는 단점을 해결하기 위해 사용자 인증 상태를 유지하는 수단으로 쿠키(Cookie)라는 개념이 등장했습니다.

 

웹 브라우저에서 HTTP Response의 Set – Cookie의 헤더나 JavaScript의 document.cookie를 통해 데이터를 쿠키에 저장하게 됩니다.

데이터를 Key=value; 키와 값으로 한 쌍으로 쿠키에 저장하게 되고 ; 뒤에 쿠키의 만료시간과 접근 가능한 도메인 등 추가 설정을 할 수 있습니다. 이렇게 저장된 데이터는 추후 HTTP 요청을 보낼 때 웹 브라우저가 자동으로 쿠키를 헤더에 추가하여 전송하게 됨으로서 사용자 인증이 유지 됩니다.

예시 >> JavaScript –  document.cookie = “UserNumber=24; Expires=Fri, 30 Oct 2020 21:17:30 GMT;”

 

 

Session

쿠키에 인증 상태를 포함하여 데이터를 저장하게 되면 다른 누군가 악의적으로 원래 사용자처럼 요청을 조작할 수 있습니다. 이를 방지하기 위해 데이터를 서버에 저장하는 방법으로 session(세션)을 사용합니다. 이를 활용하면 서버로 데이터를 저장하게 되고 임의의 랜덤 문자열 키를 생성하여 응답하게 되는데 이것은 Session ID라고 합니다.

웹 브라우저에서 해당 Session ID(랜덤 문자열 키)를 쿠키에 저장하고 이후에 HTTP 요청을 보내면 서버에서 Session ID(해당 문자열 키)에 해당하는 데이터를 가져와 인증 상태를 확인하는 방식입니다.  

 

 

반응형
Posted by 보안 학생
웹 해킹2020. 10. 27. 19:20
반응형

Web에 대한 기초적인 개념 이해 - URI란 ? URI의 구조는 ?

 

URI란 ?

Uniform Resource Identifier의 약자로 리소스를 식별하기 위한 식별자를 말합니다.

URI는 인터넷에 있는 자원을 나타내는 유일한 주소로 통합 자원 식별자 입니다.

URI에 포함되는 개념으로 흔히 알고 있는 URL URN이 있습니다.

(URL : (uniform resource locator의 약어로 통합 자원 지시자로 URI의 가장 흔한 형태입니다. )

(URN : Unifrom Resource Name의 약어로 resource의 name을 나타냅니다. )

 

URI의 구조는 아래와 같습니다.

< Scheme://[(userid)(password) @]Host Port/Path ?Query #Fragment >

예시로 http://[guest:1234@]bbs.com:80/path?id=3#fragmet 이렇게 보시면 이해하는 데 도움이 될 것 같습니다.

 

Scheme: 웹 브라우저에서 어떤 통신 규약을 사용할지 지정합니다. http, https, tel과 같은 프로토콜이 대표적 예시입니다.

 

[(userid)(password) @] 구문은 서버에서 데이터에 접근하기 위해 사용자 인증이 명시적으로 필요한 경우에 올바른 사용자 인증 값을 작성해주셔야 합니다.

 

Host : 연결할 호스트 주소입니다. 도메인 또는 IP Address가 호스트로서 사용될 수 있습니다.

 

Port  : 하나의 Host에 여러 개의 Process에 각각의 데이터 통신이 이루어지기에 사용하는 프로토콜을 나눌 필요가 있는데 이때 나누고 구분하는 역할이 Port입니다. http 프로토콜에서 명시적으로 포트번호를 적어주지 않는다면 기본 값으로 80번 포트를 사용하게 됩니다.

 

Path : 웹 브라우저가 연결하려는 리소스에 대한 경로 입니다.

 

Query  : Query String, 즉 질의문으로 필요한 데이터를 넘겨 줄 목적으로 사용하는 파라미터 입니다.

 

Fragment  : 메인 리소스에서 서브 리소스를 식별할 때 사용됩니다.

반응형

'웹 해킹' 카테고리의 다른 글

HTTP와 Cookie에 대해  (0) 2020.10.28
Posted by 보안 학생