1 / 32

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

웹 프로토콜과 로그의 이해 ★ 웹 프로토콜 ★ 통신 절차 ★ HTTP Request ★ HTTP Response. 학습 포인트 1. HTTP 구조 (Request, Response) 의 이해 2. 툴 ( 파로스 ) 사용법 – 취약점 분석의 기본. ★ 웹 프로토콜 - 통신절차 (1) 사용자는 웹 브라우저를 통해 주소를 입력 , 그러면 웹 브라우저에는 요청한 페이지가 로딩. HTML 파일. 그림 파일. 그림 . HTTP 송수신 과정.

basil-black
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

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

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

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

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

  10. ★ 웹 프로토콜 – HTTP Request(3) ○ HTTP Request에 포함된 상세 정보 ① 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 // 요청 도메인

  11. ★ 웹 프로토콜 – HTTP Request(4) ○ GET Method 2,083 정도의 길이 데이터만을 처리( 게시판 글 입력 처리 불가 등 ) ○ 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

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

  13. ★ 웹 프로토콜 – HTTP Request(6) ○ POST Method 길이 제한이 없어 많은 입력 데이터를 처리( 게시판 입력 글 처리 가능 ) ○ HTTP POST 구조 (URI + Query String) http://www.evenstar.co.kr/wizboard.php ( http header에 포함 ) URI BID=notice ( http Body에 포함 ) Query String

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

  15. ★ 웹 프로토콜 – HTTP Response(1) ○ HTTP Response에 포함된 상세 정보 Header 빈 공백 1줄 Body • HTTP Header 포함 범위 : (1), (2), (3), (4) • HTTP Body 포함 범위 : (5)

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

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

  18. ★ 프록시 툴을 이용한 HTTP분석(2) 파로스는 HTTP분석 (프록시 기능) 및 취약점 분석을 보유

  19. ★ 프록시 툴을 이용한 HTTP분석(3) ① 자바 설치 여부 확인 C:\>java –version java version "1.4.2_03" 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 설치되지 않음

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

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

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

  23. ★ 프록시 툴을 이용한 HTTP분석(7) ④ 시스템 리부팅 후, 재 확인 C:\>java –version java version "1.4.2_03" 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

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

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

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

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

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

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

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

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

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

More Related