SlideShare a Scribd company logo
INTRODUCTION • 웹 해킹 스터디 OT
웹 해킹
• 웹으로 제공되는 프로그램을 해킹
• 웹?
• World Wide Web(WWW, W3)의 준말
• 세상의 크기만한 거미줄
• 웹 사이트가 있고, 이는 웹 페이지로 이루어 짐
• 링크로 연결
• 인터넷에서 HTTP 프로토콜, 하이퍼텍스트, HTML형식 등을 사용하여 데이터를 교환하는 전송방식을 의미하기도
웹
<웹 서버> <웹 어플리케이션 서버> <데이터베이스>
<Server>
입력
출력
<Client>
<사용자> <웹 브라우저>
Request
Response
Internet
웹
<웹 서버> <웹 어플리케이션 서버> <데이터베이스>
<Server>
입력
출력
<Client>
<사용자> <웹 브라우저>
Request
Response
Internet
• Internet을 기반으로 함
• TCP/IP 프로토콜을 이용해 정보를
주고받는 컴퓨터 네트워크
• 웹은 기본적으로 HTTP 프로토콜 이용
• 웹 해킹을 위해서는 HTTP는 필수 지식
• 네트워크 특징으로 인한 공격 기법도 있음
• ex) SYN flooding
• ->이 부분은 당장 다루지는 않을 것
웹
• 사용자가 누구인지 기억해야 함
• 로그인, 인증
• 세션
• 인증한 권한에 따라 통제
• 접근 통제
• 사용 기술
• 쿠키
• 토큰
• 취약점
• 쿠키, 토큰 알아냄 -> 다른 사용자인 척
• 원래 없던 권한을 얻음
<웹 서버> <웹 어플리케이션 서버> <데이터베이스>
<Server>
입력
출력
<Client>
<사용자> <웹 브라우저>
Request
Response
Internet
웹
<웹 서버> <웹 어플리케이션 서버> <데이터베이스>
<Server>
입력
출력
<Client>
<사용자> <웹 브라우저>
Request
Response
Internet
• HTTP 메시지를 처리
• Client에게 Response를 넘김
• 취약점
• 프로토콜 자체의 취약점
• 웹서버 보안 설정이 잘못되어 취약점
웹
<웹 서버> <웹 어플리케이션 서버> <데이터베이스>
<Server>
입력
출력
<Client>
<사용자> <웹 브라우저>
Request
Response
Internet• 동적인 페이지를 처리
• 사용자 입력 처리
• 프로그램의 로직이 들어갈 곳
• -> 많은 취약점 생성
• DB 등 다른 백엔드 컴포넌트와 협업
• 취약점
• 프로그램 로직 자체
• 허술한 구현으로 취약점 생성
• 검증되지 않은 값을 다른 컴포넌트에게
넘겨 방어하지 못 함
웹
• DB
• 데이터를 체계적으로 저장하기 위해 이용
• SQL을 이용하여 DB 이용
• 취약점
• SQL injection
• DB를 보거나 조작
<웹 서버> <웹 어플리케이션 서버> <데이터베이스>
<Server>
입력
출력
<Client>
<사용자> <웹 브라우저>
Request
Response
Internet
앞으로 공부할 것
• 네트워크 이론
• Application / Transport / Network 계층 중심
• HTTP, DNS, TCP/IP, DHCP
• 라우팅 기본 원리
• 네트워크 프로그래밍
• TCP/IP를 이용한 간단한 프로그래밍
• 웹 기본 지식
• 프론트엔드 관련 : HTML, CSS, JavaScript
• 백엔드 관련 : PHP, SQL, (JAVA, python, ......)
• PHP가 점유율이 높아서.. 웹 해킹 문제로 자주 보여서...
• 암호화, 인코딩
• 대칭키와 비대칭키 암호 개념
• 자주 쓰이는 암호, 인코딩
• 웹 취약점과 해킹 기법
• 어플리케이션 지도 작성 / 클라이언트 측 통제 우회 / 인증 무력화 / 세션 관리 공격 / 접근 통제 공격 / 데이터 저장소 공격 / 백엔드 컴포넌트 공격 / 애플리케이션 로직 공격
/ 사용자 공격 : XSS / 기타 공격 / ......
• 공격 방법론에 따른 실습
• 실제 웹 페이지를 공격하는 일반적인 절차에 따라 실습
• 위의 공격 방식들을 적절히 사용하여 실제 해킹에 적용하기 위한 정리
교재

More Related Content

PPTX
Windows reversing study_basic_8
 
PPTX
Linux reversing study_basic_3
 
PPTX
System+os study 1
 
PPTX
Windows reversing study_basic_9
 
PPTX
Pwnable study basic_2
 
PPTX
System+os study 3
 
PPTX
System+os study 7
 
PPTX
Assembly 스터디 1
 
Windows reversing study_basic_8
 
Linux reversing study_basic_3
 
System+os study 1
 
Windows reversing study_basic_9
 
Pwnable study basic_2
 
System+os study 3
 
System+os study 7
 
Assembly 스터디 1
 

What's hot (20)

PPTX
Linux reversing study_basic_4
 
PPTX
Pwnable study basic_1
 
PPTX
Windows reversing study_basic_6
 
PPTX
System+os study 5
 
PPTX
Windows reversing study_basic_5
 
PPTX
Windows reversing study_basic_7
 
PPTX
Pwnable study basic_3
 
PPTX
Assembly 스터디 2
 
PPTX
Windows reversing study_basic_3
 
PPTX
Windows reversing study_basic_4
 
PPTX
Windows reversing study_basic_2
 
PPTX
System+os study 6
 
PPTX
Linux reversing study_basic_2
 
PDF
닷넷 Apache avro
PDF
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
PPTX
2016 hack festival igrus
PPTX
공성대전 C# 사용기
PDF
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영
PDF
Avro 조사
PDF
학교에서 배우지 않는 C
Linux reversing study_basic_4
 
Pwnable study basic_1
 
Windows reversing study_basic_6
 
System+os study 5
 
Windows reversing study_basic_5
 
Windows reversing study_basic_7
 
Pwnable study basic_3
 
Assembly 스터디 2
 
Windows reversing study_basic_3
 
Windows reversing study_basic_4
 
Windows reversing study_basic_2
 
System+os study 6
 
Linux reversing study_basic_2
 
닷넷 Apache avro
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
2016 hack festival igrus
공성대전 C# 사용기
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영
Avro 조사
학교에서 배우지 않는 C

Similar to Web hacking introduction (20)

PDF
Web hacking 개요
PPTX
컴퓨터보안.pptx
PPTX
web study 1day
PDF
Web2.0 guide by_twlog
PPTX
Web vulnerability seminar2
PDF
웹을 지탱하는 기술
PDF
웹을 지탱하는 기술
PPTX
웹기술 이해 (프론트엔드 기초)
PDF
서버 개발자가 되기 위한 첫 걸음
PPTX
Owasp에 대하여
PDF
이제 막 웹개발자 되고싶은 분들께
PDF
2015년 제2회 동아리 해커 세미나 - 서버 개발자가 되기 위한 첫걸음 (25기 조성수)
PDF
1주 WEB UI Overview
PDF
Web App Security 2015.10
PDF
Web2.0 기술 동향 및 web 보안 취약성 분석
PPTX
Under attack - web
PDF
[D2 campus seminar]개발자가 꼭 알아야 할 보안이야기
PDF
Basic of web ref.웹을지탱하는기술_01
PDF
화성에서 온 개발자, 금성에서 온 기획자
PDF
[113]LINExNAVER 개발 보안 취약점 이야기
Web hacking 개요
컴퓨터보안.pptx
web study 1day
Web2.0 guide by_twlog
Web vulnerability seminar2
웹을 지탱하는 기술
웹을 지탱하는 기술
웹기술 이해 (프론트엔드 기초)
서버 개발자가 되기 위한 첫 걸음
Owasp에 대하여
이제 막 웹개발자 되고싶은 분들께
2015년 제2회 동아리 해커 세미나 - 서버 개발자가 되기 위한 첫걸음 (25기 조성수)
1주 WEB UI Overview
Web App Security 2015.10
Web2.0 기술 동향 및 web 보안 취약성 분석
Under attack - web
[D2 campus seminar]개발자가 꼭 알아야 할 보안이야기
Basic of web ref.웹을지탱하는기술_01
화성에서 온 개발자, 금성에서 온 기획자
[113]LINExNAVER 개발 보안 취약점 이야기

More from J J (6)

PDF
해커가 되고 싶은 자는 나에게... 정보보안 입문과 길 찾기
 
PPTX
Linux reversing study_basic_1
 
PPTX
Python
 
PPTX
System+os study 4
 
PPTX
System+os study 2
 
PPTX
Windows reversing study_basic_1
 
해커가 되고 싶은 자는 나에게... 정보보안 입문과 길 찾기
 
Linux reversing study_basic_1
 
Python
 
System+os study 4
 
System+os study 2
 
Windows reversing study_basic_1
 

Web hacking introduction

  • 1. INTRODUCTION • 웹 해킹 스터디 OT
  • 2. 웹 해킹 • 웹으로 제공되는 프로그램을 해킹 • 웹? • World Wide Web(WWW, W3)의 준말 • 세상의 크기만한 거미줄 • 웹 사이트가 있고, 이는 웹 페이지로 이루어 짐 • 링크로 연결 • 인터넷에서 HTTP 프로토콜, 하이퍼텍스트, HTML형식 등을 사용하여 데이터를 교환하는 전송방식을 의미하기도
  • 3. 웹 <웹 서버> <웹 어플리케이션 서버> <데이터베이스> <Server> 입력 출력 <Client> <사용자> <웹 브라우저> Request Response Internet
  • 4. 웹 <웹 서버> <웹 어플리케이션 서버> <데이터베이스> <Server> 입력 출력 <Client> <사용자> <웹 브라우저> Request Response Internet • Internet을 기반으로 함 • TCP/IP 프로토콜을 이용해 정보를 주고받는 컴퓨터 네트워크 • 웹은 기본적으로 HTTP 프로토콜 이용 • 웹 해킹을 위해서는 HTTP는 필수 지식 • 네트워크 특징으로 인한 공격 기법도 있음 • ex) SYN flooding • ->이 부분은 당장 다루지는 않을 것
  • 5. 웹 • 사용자가 누구인지 기억해야 함 • 로그인, 인증 • 세션 • 인증한 권한에 따라 통제 • 접근 통제 • 사용 기술 • 쿠키 • 토큰 • 취약점 • 쿠키, 토큰 알아냄 -> 다른 사용자인 척 • 원래 없던 권한을 얻음 <웹 서버> <웹 어플리케이션 서버> <데이터베이스> <Server> 입력 출력 <Client> <사용자> <웹 브라우저> Request Response Internet
  • 6. 웹 <웹 서버> <웹 어플리케이션 서버> <데이터베이스> <Server> 입력 출력 <Client> <사용자> <웹 브라우저> Request Response Internet • HTTP 메시지를 처리 • Client에게 Response를 넘김 • 취약점 • 프로토콜 자체의 취약점 • 웹서버 보안 설정이 잘못되어 취약점
  • 7. 웹 <웹 서버> <웹 어플리케이션 서버> <데이터베이스> <Server> 입력 출력 <Client> <사용자> <웹 브라우저> Request Response Internet• 동적인 페이지를 처리 • 사용자 입력 처리 • 프로그램의 로직이 들어갈 곳 • -> 많은 취약점 생성 • DB 등 다른 백엔드 컴포넌트와 협업 • 취약점 • 프로그램 로직 자체 • 허술한 구현으로 취약점 생성 • 검증되지 않은 값을 다른 컴포넌트에게 넘겨 방어하지 못 함
  • 8. 웹 • DB • 데이터를 체계적으로 저장하기 위해 이용 • SQL을 이용하여 DB 이용 • 취약점 • SQL injection • DB를 보거나 조작 <웹 서버> <웹 어플리케이션 서버> <데이터베이스> <Server> 입력 출력 <Client> <사용자> <웹 브라우저> Request Response Internet
  • 9. 앞으로 공부할 것 • 네트워크 이론 • Application / Transport / Network 계층 중심 • HTTP, DNS, TCP/IP, DHCP • 라우팅 기본 원리 • 네트워크 프로그래밍 • TCP/IP를 이용한 간단한 프로그래밍 • 웹 기본 지식 • 프론트엔드 관련 : HTML, CSS, JavaScript • 백엔드 관련 : PHP, SQL, (JAVA, python, ......) • PHP가 점유율이 높아서.. 웹 해킹 문제로 자주 보여서... • 암호화, 인코딩 • 대칭키와 비대칭키 암호 개념 • 자주 쓰이는 암호, 인코딩 • 웹 취약점과 해킹 기법 • 어플리케이션 지도 작성 / 클라이언트 측 통제 우회 / 인증 무력화 / 세션 관리 공격 / 접근 통제 공격 / 데이터 저장소 공격 / 백엔드 컴포넌트 공격 / 애플리케이션 로직 공격 / 사용자 공격 : XSS / 기타 공격 / ...... • 공격 방법론에 따른 실습 • 실제 웹 페이지를 공격하는 일반적인 절차에 따라 실습 • 위의 공격 방식들을 적절히 사용하여 실제 해킹에 적용하기 위한 정리