Download presentation
Presentation is loading. Please wait.
1
웹 해킹 기초와 실습
2
수업 내용 웹에 대한 소개 웹 게시판 만들기 실습 웹 해킹 실습 HTTP Protocol
Web Server & Web Browser 웹 게시판 만들기 실습 Camp_Board 웹 해킹 실습
3
웹 해킹이 대세! 다양한 종류의 인터넷 서비스들
4
웹 해킹이 대세! 그들 중 단연 최고는 WEB!
5
웹 해킹이 대세! 사라지는 서비스들, 일부는 WEB으로 흡수
6
접속을 막아버리는 방화벽(Firewall)
웹 해킹이 대세! 접속을 막아버리는 방화벽(Firewall)
7
웹 해킹이 대세! Web까지 막을 순 없다!
8
웹 해킹이 대세! 웹 프로그래밍 언어 == 상대적으로 쉬운 언어
9
웹 해킹이 대세! 취약점이 가장 많은 서비스는 바로 WEB!
10
웹 게시판 만들기
11
웹 게시판 만들기
12
알아야 할 것들 WEB의 이해 HTML의 이해 PHP의 이해 Mysql의 이해
13
WEB의 이해 HTML 언어 사용 HTTP 프로토콜 기반으로 작동 인터넷 상에서 동작하는 여러 서비스들 중 하나
IE나 Firefox와 같은 Web Browser를 통해서 작동 HTML 언어 사용 HTTP 프로토콜 기반으로 작동 HyperText Transfer Protocol 요청/응답(request/response) 방식의 프로토콜 GET /index.html HTTP/1.0 -> index.html을 주세요 GET /logo.jpg HTTP/1.0 -> logo.jpg를 주세요
14
Web Server와 Web Browser의 관계
15
WEB 이해를 위한 실습 Web Browser와 Web Server가 주고 받는 내용 직접 보기
패킷 스니퍼 실행 Start 버튼 클릭 접속 패킷 스니핑 결과 확인
16
HTML 언어 Web page를 만들기 위한 프로그래밍 언어 HyperText Markup Language
문서의 글자 크기, 색, 그래픽, 테이블, 하이퍼링크 등을 정의 HTML에서 사용하는 명령어를 태그(tag)라고 함 html, body, table, tr, td, font, a, img
17
PHP 언어 Server Side Script Language 원래 Personal Home Page Tools의 약자
PHP is Hypertext Preprocessor로 변경 Html 언어와 혼용하여 사용 가능 사용자로부터 인자를 입력 받아 동적인 결과 출력 가능 서버 내의 다양한 서비스들과 연동 가능
18
Server Side Script
19
PHP 언어 HTML에서 PHP로 인자 전달하기 <FORM> 태그 이용 GET 방식과 POST 방식 예제 GET
URL 뒤로 인자를 이어서 전달 HTTP 패킷 안에 인자 전달 인자 크기에 제한이 있음 인자 크기에 거의 제한이 없음 인자의 내용이 웹 로그에 노출 됨 노출되지 않음
20
Mysql Database 관리 시스템의 한 종류 자료 보관, 검색 및 통계에 활용 이것은 파일이다.
Mysql, Mssql, Oracle 자료 보관, 검색 및 통계에 활용 이것은 파일이다. Frm : 테이블 구조 MYI : 테이블 인덱스 MYD : 실제 데이터
21
Mysql 사용 예제 Mysql Client 테이블 설계 테이블 생성 자료 입력 활용 예제 /usr/bin/mysql
나이, 이름, 거주 지역 테이블 생성 Create table (…) 자료 입력 활용 예제
22
웹 게시판 만들기 SSH 접속 웹 경로 mysql 실행 192.168.0.1 /var/www/html/
root / camp 웹 경로 /var/www/html/ mysql 실행 Mysql –u root –p camp (패스워드 camp)
23
웹 게시판 만들기 테이블 설계 고유번호 - int , auto_increment 닉네임 – char(20)
내용 - text 카운터 - int 등록 날짜 – char (20) 업로드 파일 – char(20)
24
웹 게시판 만들기 (1) 새 글 쓰기 Write.php
25
웹 게시판 만들기 (2) 등록된 글 목록 보기 list.php
26
웹 게시판 만들기 (3) 웹 게시판 만들기 (3) 게시물 내용 보기 view.php 카운터 높이기
27
웹 게시판 만들기 (4) 파일 업로드 기능 구현하기
28
웹 게시판 만들기 (5) 게시물 삭제하기 delete.php 업로드 파일도 함께 삭제하기
29
웹 게시판 만들기 (6) board.html로 통일하기
30
쉬(하)는 시간
31
!!긴급!! 게시판에 누군가 이상한 글을 올렸다. 글쓴이의 IP를 찾아라!
32
!충격! 우리가 만든 게시판에 취약점이 있다. 글쓴이의 IP를 찾아라!
33
질문 총 몇 개의 취약점이 있을까?
34
Exploit (1) 카운터를 높이자. 글쓰기 도배를 하자.
35
Exploit (2) HTML 태그 입력 취약점 - 태그 쓰기 - Marquee - 테이블 탈출 - 창 흔들기
- 게시판 망치기
36
Exploit (3) 디렉토리 안의 파일 노출 취약점
37
Exploit (4) DB File을 훔쳐보자. 원격에서 접속해 보자.
38
Exploit (5) Fopen() 함수의 취약점 예상치 못한 파일을 받아보자 /../../etc/passwd
39
Exploit (6) Include 함수의 취약점 예상치 못한 파일을 받아보자 - ../../../etc/passwd
- include http - include ftp - include ../로컬
40
Exploit (7) 업로드 - .php - .PhP - .html - .inc - .txt.php - .jpg.php
41
Exploit (8) system() 함수의 취약점
42
Exploit (9) Copy() 함수의 취약점
43
Exploit (10) Sql injection 취약점 - 암호 없이 게시물 삭제 - 원격 쉘 획득
44
원격 쉘 획득 실습 Bind Shell Program Reverse Shell Program
45
결론 (1) 웹은 해커의 놀이터
46
결론 (2) 해킹을 하려면 프로그래밍은 필수! 프로그래밍 불가능한 자 프로그래밍 가능한 자 소스 코드 해석 불가능
소스 코드 해석 가능 지도 없이 길을 찾아가는 것 지도를 가지고 길을 찾아가는 것 불을 끄고 물건을 찾는 것 불을 켜고 물건을 찾는 것 축구를 안 해본 사람이 감독을 맡는 것 축구를 해 본 사람이 감독을 맡는 것
Similar presentations