웹 프로토콜과 로그의 이해 ★ 웹 프로토콜 ★ 통신 절차 ★ HTTP Request ★ HTTP Response.

Slides:



Advertisements
Similar presentations
[Homework #2] (6 th Edition English Version 기준 )  [ 복습문제 ] 에서 다음 문제의 해답제시 (pp.169~171)  R5, R8, R10, R11, R15, R26, R27  [ 문제 ] 에서 다음 문제의 해답제시 (pp.171~179)
Advertisements

Korea Virtual Payment 모바일 안전결제 (ISP) 서비스 모델 - iPhone 한국버추얼페이먼트㈜ 기술연구소
OpenAPI 의 응용 인공지능 연구실. Artificial Intelligence Laboratory 목차 1.OpenAPI 2.Mashup 3.How can use OpenAPI 4.Various OpenAPIs 5. 실습 2.
1. Section I. 웹 프로토콜과 로그의 이해 1. 웹 프로토콜 1.1 통신 절차 1.2 HTTP Request 1.3 HTTP Response 2. 웹 로그 2.1 W3C 유형 2.2 NCSA 포맷 2.3 로그 분석 2.
Android 프로그램개발 환경. 학습 목표 ■ 교육 목표  JDK 설치  JDK 환경 설정  Eclipse 설치  Android SDK 설치  ADT Plug-in 설치  Android Virtual Device(AVD) 설치  Android 예제 프로그램.
HTTPS Packet Capture Tutorial
Chapter 02. 웹에 대한 이해. Chapter 02. 웹에 대한 이해 웹의 역사 HTTP 웹 애플리케이션 기술.
Oozie Web API 기능 테스트 이승엽.
PARK SUNGJIN Oracle 설치 PARK SUNGJIN
김태원 심재일 김상래 강신택. 김태원 심재일 김상래 강신택 인터넷 통신망의 정보를 제공하는 서비스 인터넷의 자원 및 정보는 NIC가 관리 IP주소 또는 도메인으로 정보 검색 이용자 및 통신망 관한 정보를 제공.
OpenAPI의 응용 인공지능 연구실.
5강. Servlet 본격적으로 살펴보기-I 프로젝트 만들기 doGet() doPost()
Ch.07-5 xml-rpc 사용하기 김상엽.
Network Lab. Young-Chul Hwang
PHP입문 Izayoi 김조흔.
웹 서버 동작 HTTP 클라이언트가 서버와 대화하는 방법과 데이터를 서버에서 클라이언트로 전송 하는 방법을 정의한 프로토콜
Load Balancing L4와 L7은 어떻게 동작할까?.
1장. JSP 및 Servlet을 활용한 동적 웹 프로그래밍 소개 제1장.
125. WAPPLES Policy Setting Guideline
Chapter 02 웹의 이해.
VoIP (Voice Over Internet Protocol)
웹 애플리케이션 아키텍쳐 웹 클라이언트 서버 요청 응답 전송 애플리케이션 데이터베이스 커넥터 N-계층.
네트워킹 CHAPTER 13 Section 1 네트워킹의 개요와 java.net 패키지 Section 2 인터넷 주소와 URL
Java 기초 (Java JDK 설치 및 환경설정)
한국골프대학 종합정보시스템 Windows Vista 사용자를 위한 Component 설치안내서
한국골프대학 종합정보시스템 Windows 7 사용자를 위한 Component 설치안내서
Chapter 21 Network Layer: ARP, ICMP (IGMP).
제 2 장 WML 시뮬레이터 및 무선인터넷 서버 설치
제 19 장 TFTP 19.1 메시지 19.2 연결 19.3 데이터 전송 19.4 UTP 포트 19.5 TFTP 예제
ASP.NET AJAX 비동기 게시판 작성 2007 컴퓨터공학실험( I )
KHS JDBC Programming 4 KHS
Servlet 서블릿 기초 FORM 처리 서블릿의 API 세션과 쿠키 com.oreilly.servelet 패키지
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
FTP 프로그램의 활용 FTP 프로그램의 용도 인터넷 공간에 홈페이지 파일을 업로드할 때 필요
환경 : Windows7 64bit 버전 : apache-ant-1.9.7
자바 설치 매뉴얼 1. 실행중인 모든 프로그램을 종료한다. 2. 설치된 자바를 모두 제거한다.
자바 설치 매뉴얼 1. 실행중인 모든 프로그램을 종료한다. 2. 설치된 자바를 모두 제거한다.
Network Security WireShark를 활용한 프로토콜 분석 II.
Trivial File Transfer Protocol (TFTP)
Network Security WireShark를 활용한 프로토콜 분석 I.
2장. JSP 프로그래밍을 위한 환경구성 제2장.
Web Vulnerabilities 정보 보호 2008/05/31 Getroot.
Go Lang 리뷰 이동은.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Wi-Fi 취약점 분석 본 프로젝트는 Wi-Fi 환경에서의 취약점 분석을 위한 프로젝트로 다양한 공격방법을 테스트
Ⅰ. ASP개체 모델 Ⅱ. Request 개체 그렇다면 프로그래밍 언어를 수행하는 컴퓨터의 개념적인 구조를 살펴 본다면, 프로그래밍 언어가 무엇인지 이해하는데 도움이 될 것입니다. 현재 컴퓨터 구조의 모태가 되고 있는 폰 노이만 구조는 그림에서 보는 것과 같이, 명령어와.
Internet 데이터 전송 목표: 인터넷의 개요 및 기본 내용을 살펴보고 VB에서의 데이터 전송 프로그래밍에 대하여 학습한다. 주요내용 인터넷의 개요 인터넷 데이터 전송 인터넷 프로그래밍 Winsock Client Server 프로그래밍.
CGI란 무엇인가? CGI(Common Gateway Interface)의 정의
Chapter 34. Advanced Web Page Options
12장 쿠키와 세션 이장에서 배울 내용 : 쿠키와 세션은 웹 페이지 간에 정보를 유지할 때 사용된다. 쿠키와 세션은 사용되는 형태가 비슷하나, 쿠키는 웹 브라우저(클라이언트) 쪽에 저장되고, 세션은 웹 서버 쪽에 저장된다. 이 번장에서는 이들에 대해 학습한다.
법령안편집기 연결버튼 표시가 안 될 경우 정부입법지원센터( 입안 및 심사안을 진행시
웹(WWW).
STS 에서 웹 서버 설치 방법.
Chapter 27 Mobile IP.
연습 문제 풀이 HTTP 메시지의 종류 요청/ 응답 구별  메소드로 시작되므로 요청 메시지임
웹 어플리케이션 보안 2016년 2학기 11. Enhancing Security.
Introduction to JSP & Servlet
객체 및 객체 모델 데이터 전송 방식 Request 객체 Response 객체
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
JSP Programming with a Workbook
세션에 대해 알아보고 HttpSession 에 대해 이해한다 세션 관리에 사용되는 요소들을 살펴본다
MIDP 네트워크 프로그래밍 ps lab 김윤경.
9 브라우저 객체 모델.
Network Lab. Young-Chul Hwang
8주 실습강의 학기, 소프트웨어 설계 및 실험(Ⅰ).
JAVA 프로그래밍 16장 JNLP.
ARP.
AJAX? Cho Hyun Min.
디지털광고 구동 원리 전중달 CTO.
20 XMLHttpRequest.
Presentation transcript:

웹 프로토콜과 로그의 이해 ★ 웹 프로토콜 ★ 통신 절차 ★ HTTP Request ★ HTTP Response

학습 포인트 1. HTTP 구조(Request, Response)의 이해 2. 툴(파로스)사용법 – 취약점 분석의 기본

★ 웹 프로토콜 - 통신절차(1) 사용자는 웹 브라우저를 통해 주소를 입력, 그러면 웹 브라우저에는 요청한 페이지가 로딩 HTML 파일 그림 파일 그림. HTTP 송수신 과정

★ 웹 프로토콜 – 통신절차(2) TCP(HTTP)는 3가지 절차를 통해 통신이 이루어진다. 세션 연결 ( 나는 너와 통신하고 싶다. ) 데이터 송.수신 ( 웹 브라우저에 페이지 로딩 ) 세션 종료 ( 통신 종료 ) ….  HTML 페이지 1개  .JS(자바스크립트)파일  등등  그림 파일

★ 웹 프로토콜 – 통신절차(3) HTTP 세션연결 그림. HTTP 세션연결 및 데이터 전송 HTTP 데이터송수신

★ 웹 프로토콜 – 통신절차(4) 그림. HTTP 종결 세션 종료

★ 웹 프로토콜 – 통신절차(5) Control Flags ( 연결에 대한 제어 정보 ) 그림. TCP 헤더 URG : 다른 패킷에 비해 가장 먼저 긴급하게 처리를 요청하기 위한 BIT ACK : 잘 받았다는 메시지 처리를 위한 BIT PSH : 빠른 처리 요구를 위한 BIT ( 모든 데이터가 전송되었음 ) (일반적으로 모든 TCP 메시지를 주고 받을 때 기본 값으로 들어감) RTS : 강제로 세션을 끊기 위한 BIT SYN : TCP 세션을 시작하기 위한 BIT FIN : 정상적인 절차로 세션을 끊기 위한 BIT

★ 웹 프로토콜 – HTTP Request(1) Header 웹 브라우저 웹 서버 Body HTTP Response(수신) Header 웹 브라우저 웹 서버 Body 그림. HTTP 송, 수신

★ 프로토콜 – HTTP Request(2) ○ HTTP Request 에는 무엇이 포함되어 있는가 ?

★ 웹 프로토콜 – HTTP Request(3) ① GET /index.html HTTP/1.1 // 요청 URL 정보(메소드, 페이지) 및 HTTP 버전 ② user-agent: MSIE 6.0; Windows NT 5.0 // 사용자 웹 브라우저 종류 ③ accept: text/html; */* // 요청 데이터 타입 ④ cookie: name = value // 쿠키(인증 정보) ⑤ referer: http://www.bbb.com // 경유지 URL ⑥ host: www.evenstar.co.kr // 요청 도메인

★ 웹 프로토콜 – HTTP Request(4) ○ GET Method 2,083 정도의 길이 데이터만을 처리( 게시판 글 입력 처리 불가 등 ) Method 구조 설 명 GET GET [request-uri]?query_string HTTP/1.1 Host:[Hostname] 혹은 [IP] GET 요청 방식은 요청 URI(URL)가 가지고 있는 정보를 검색하기 위해 서버 측에 요청하는 형태이다. ○ HTTP GET 구조 (URI + Query String) http://www.evenstar.co.kr/webpage/biglook_a.html ( http header에 포함 ) URI http://www.evenstar.co.kr/wizboard.php?BID=notice ( http header에 포함 ) URI Query String

★ 웹 프로토콜 – HTTP Request(5) ○ GET Method GET 요청 메시지(Body)는 없음

★ 웹 프로토콜 – HTTP Request(6) ○ POST Method 길이 제한이 없어 많은 입력 데이터를 처리( 게시판 입력 글 처리 가능 ) Method 전송 형태 설 명 POST POST [request-uri] HTTP/1.1 Host:[Hostname] 혹은 [IP] Content-Length:[Bytes] Content-Type:[Content Type] [query-string] 혹은 [데이터] 게시판 등과 같은 폼 데이터 및 CGI 프로그램으로 구성된 페이지를 위해 처리하기 위해 POST 방식으로 전송하게 되며, 웹 브라우저와 시스템 간 데이터 처리로 웹 브라우저에는 페이지 정보만을 확인할 수 있다. ○ HTTP POST 구조 (URI + Query String) http://www.evenstar.co.kr/wizboard.php ( http header에 포함 ) URI BID=notice ( http Body에 포함 ) Query String

★ 웹 프로토콜 – HTTP Request(7) ○ POST Method POST 요청(헤더) POST 요청(몸체) [주의] GET Method와의 차이는 무엇인가?

★ 웹 프로토콜 – HTTP Response(1) ① HTTP/1.1 OK 200 // 프로토콜 버전 및 응답코드 ② Server: NCSA/1.4.2 // 웹 서버 배너 정보 ③ Content-type: text/html // MIME타입 ④ Content-length: 107 // HTTP Body 사이즈 ⑤ <html><head></head> // 페이지 구성 정보(HTML태그 등) <Title>http protocol</Title> <body> The understanding of http protocol </body></html> Header 빈 공백 1줄 Body HTTP Header 포함 범위 : (1), (2), (3), (4) HTTP Body 포함 범위 : (5)

★ 웹 프로토콜 – HTTP Response(2) HTTP Status Code(응답코드) 종류 요청( get /index.html ) 수신(응답코드) 웹 브라우저 웹 서버 200번(요청성공) 201번(원격지서버에 파일 생성) 302번(페이지이동) 304번(로컬 캐쉬정보이용) 401번(인증실패) 403번(접근금지) 404번(페이지없음) 500번(서버에러)

★ 프록시 툴을 이용한 HTTP분석(1) 그림. HTTP분석 및 테스트

★ 프록시 툴을 이용한 HTTP분석(2) 파로스는 HTTP분석 (프록시 기능) 및 취약점 분석을 보유 * 파로스 운영 요구 사항 ① 자바 1.4 이상 버전 설치 ( 파로스는 자바 어플리케이션 ) ② ant(자바 컴파일러) 설치 ( 파로스 소스 수정 및 컴파일 ) ③ 운영 환경을 위한 시스템 환경 변수 설정 ④ 환경 변수 설정 적용을 위한 시스템 리부팅

★ 프록시 툴을 이용한 HTTP분석(3) ① 자바 설치 여부 확인 C:\>java –version Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_03-b02) Java HotSpot(TM) Client VM (build 1.4.2_03-b02, mixed mode) [주의] 위와 같은 메시지가 없는 경우, java 설치되지 않음

★ 프록시 툴을 이용한 HTTP분석(4) ② ant 설치 여부 확인 C:\>ant Buildfile: build.xml does not exist! Build failed [주의] 위와 같은 메시지가 없는 경우, ant 설치

★ 프록시 툴을 이용한 HTTP분석(5) ③ 시스템 환경 설정 – 자바 설정 그림. 자바 설정

★ 프록시 툴을 이용한 HTTP분석(6) ③ 시스템 환경 설정(2) 2) ant 위치 지정 그림. ANT 설정

★ 프록시 툴을 이용한 HTTP분석(7) ④ 시스템 리부팅 후, 재 확인 C:\>java –version Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_03-b02) Java HotSpot(TM) Client VM (build 1.4.2_03-b02, mixed mode) C:\>ant Buildfile: build.xml does not exist! Build failed

★ 프록시 툴을 이용한 HTTP분석(8) http://www.parosproxy.org/ ○ 파로스 설치 – 소스 및 실행파일 다운로드 및 설치 http://www.parosproxy.org/ 그림. 파로스 다운로드

★ 프록시 툴을 이용한 HTTP분석(9) 그림. 파로스의 운영(프록시)구조

★ 프록시 툴을 이용한 HTTP분석(10) ○ 파로스의 중요 모듈 Crawl : URL구조를 파악하고 페이지 정보를 수집하는 단계 Scan : 수집된 정보를 바탕으로 취약점 패턴을 전송하는 단계 Report : 취약점 결과를 제공하는 단계 Proxy : HTTP 프록시 구조 제공

★ 프록시 툴을 이용한 HTTP분석(11) ○ 파로스 프록시 설정 그림. 파로스 포트 설정

★ 프록시 툴을 이용한 HTTP분석(12) ○ 웹 브라우저 프록시 설정 주의할 점은 파로스의 프록시 포트와 동일해야 한다. 그림. 웹 브라우저 프록시 설정

★ 프록시 툴을 이용한 HTTP분석(13) 그림. 파로스 운영 설정 테스트 HTTP Request HTTP Response 수집된 구조 그림. 파로스 운영 설정 테스트

★ 프록시 툴을 이용한 HTTP분석(14) ○ 파로스 프록시를 이용한 데이터 변조 방법(1) http://www.elated.com/res/File/articles/development/javascript/ form-validation-with-javascript/simple_form.html 그림. 파로스를 이용한 데이터 변조(1)

★ 프록시 툴을 이용한 HTTP분석(15) ○ 파로스 프록시를 이용한 데이터 변조 방법(1) Trap Request : 웹 브라우저에서 웹 서버로 전송되는 데이터 가로채기 Trap Response : 웹 서버에서 웹 브라우저로 전송되는 데이터 가로채기 프록시 기능 그림. 파로스를 이용한 데이터 변조(2)

★ 프록시 툴을 이용한 HTTP분석(16)