본문 바로가기

Network

(6)
[Network] 포트 포워딩과 DMZ 설정 웹해킹 공부를 하다보니 개인 서버가 필요한 일이 생겨서 포트 포워딩을 찾아 보게되었다. 포트 포워딩이란? 포트 포워딩이란 외부에서로의 요청을 알맞은 포트에 보내주는 것을 말한다. 보통 가정집에는 공유기를 사용한다. 공유기에는 공인 IP를 할당해주게 되며, 나머지 전자기기에는 공유기가 사설 IP를 할당해준다. 공인 IP는 다른 IP주소들과 중복 되지 않는 유일한 IP 주소이며 사설 IP 주소는 다른 IP와 중복 되는 주소이다. 우리는 사설 IP를 할당 받기 때문에 외부에서 내가 할당 받은 사설 IP로 접근할 수가 없다. 이유로는 내가 받은 IP는 중복 되는 IP 주소이기 때문에 어느 IP로 보내는 요청인지 정확히 판단할 수 없는 것이다. 따라서 외부에서 우리의 컴퓨터 접근을 하려면 공유기가 할당 받은 공인..
[Network] TCP/IP 4계층이란? / TCP 연결 TCP/IP 4계층과 OSI 7계층의 차이점은 TCP/IP는 좀 더 실무적인 개념들로 간랸화 되어 있으며, OSI 7계층은 네트워크 통신에 필요한 모든 개념들이 계층별로 들어가 있는 느낌이다. 따라서 실제로는 TCP/IP 4계층을 모델로 네트워크 통신을 표현한다. TCP/IP 4계층 TCP/IP 4계층은 다음과 같은 계층들로 이루어져 있다. 1. 네트워크 엑세스 계층 2. 인터넷 계층 3. 전송 계층 4. 응용 계층 네트워크를 통해 데이터를 송수신하게 되면 각 계층을 위에서 아래로 또는 아래에서 위로 지나야만 송수신이 가능하다. 각 계층을 지날때마다 계층별 헤더(계층별로 필요한 정보)가 데이터에 추가 되며, 이를 캡슐화라고 부른다. 또한, 수신된 데이터를 확인하기 위해 계층별 헤더를 확인하고 알맞은 행동..
[Network] OSI 7계층이란? OSI 7계층 OSI 7계층은 네트워크 통신에서 일어나는 과정을 7개로 나눈 것으로 국제 표준화 기구(ISO)에서 정의한 네트워크 표준 모델이다. 먼저, 7개의 과정으로 나누는 것은 분할정복으로 이해할 수 있다. 분할정복은 큰 문제를 작은 문제로 나누어 해결하면 큰 문제를 쉽게 해결 할 수 있는 것을 뜻한다. 각각의 과정을 나누어 이해하면 네트워크 통신에서 문제가 발생 시 각 계층 별 특징 확인을 통해 쉽게 해결할 수 있다. OSI 7계층은 다음과 같은 7가지 단계로 이루어져 있다. 1. 물리 계층 2. 데이터 링크 계층 3. 네트워크 계층 4. 전송 계층 5. 세션 계층 6. 표현 계층 7. 응용 계층 1. 물리 계층 (Physical Layer) 1계층은 다른 시스템에 기계어를 전기적 신호로 전송하거..
[Network] Mitigation: Same Orgin Policy - 티스토리 SOP(Same Origin Policy) SOP는 동일 출처 정책이란 뜻으로, XSS와 같은 클라이언트 사이드 공격이 발생하는 것을 방지하기 위한 정책이다. 만약 사용자가 악의적인 웹 페이지에 접근 했을 때 해당 페이지가 이용자의 SNS로 웹 서비스 요청을 보낸다면, 사용자의 쿠키 값을 그대로 악용이 가능하다. SOP 정책이 있다면 악의적인 웹 페이지가 그러한 요청을 보내더라도 응답을 받을 수 없게 된다. 따라서 클라이언트 사이드 공격은 SOP를 우회하기 위함이라고도 한다. SOP의 동일 출처 구분 SOP는 브라우저가 가져온 오리진을 다음과 같은 기준으로 구분한다. 1. 프로토콜 2. 포트 3. 호스트 https://same-orgin.com/ 이라는 오리진들을 아래의 오리진들과 비교했을 때 결과는 다..
[Network] Cookie / Session이란 무엇인가? - 티스토리 Cookie란? 네트워크에서 쿠키란 서버가 클라이언트의 정보를 기억하기 위해 사용한다. (웹 서버는 HTTP의 Connectionless와 Stateless의 특성 때문에 클라이언트 정보를 기억할 수 없다.) Connectionless: 하나의 요청에 대해 하나의 응답을 한 후 연결을 종료함. (새 요청이 있을 때마다 새로운 연결을 생성함) Stateless: 통신이 끝난 후 상태 정보를 저장하지 않는다. 쿠키는 다음과 같은 세 가지 목적을 가지고 있다. 1. 사용자 세션 - 특정 사용자의 세션과 연결 시킨다. 2. 개인화 - 사용자에게 맞는 적절한 페이지를 보여준다. 3. 추적 - 사용자의 웹 사이트 방문 기록을 추적하여 기록한다. 클라이언트가 서버에 요청을 보내면 서버는 쿠키를 발급한 후 응답에 같이..
[Network] HTTP / HTTPS란 무엇인가? - 티스토리 HTTP란? HTTP(Hypertext Transfer Protocol)는 웹에서 데이터를 주고 받을 때 사용하는 네트워크 통신 규약 중 하나이다. HTTP는 서버와 클라이언트의 데이터 교환을 요청과 응답으로 정의한다. 요청과 응답 HTTP로 요청 시 응답 또한 HTTP로 온다. 아래는 두 가지 경우의 HTTP 메세지 형식이다. 1. 요청 위 사진은 요청에 대한 HTTP 메시지의 헤더 부분이다. 각각의 네모 박스는 다음과 같은 의미를 나타낸다. 빨간색: Start Line, 요청의 상태를 나타냄 주황색: HTTP 메시지와 바디의 정보를 나타냄 초록색: 헤더와 바디를 구분 짓는 역할을 함 (\r: carraige return, \n: line feed) (GET 요청이므로 HTTP Body 부분은 없는..