Opens in a new windowOpens an external websiteOpens an external website in a new window
We and our 28 IAB TCF partners store and access information on your device for the following purposes: store and/or access information on a device, advertising and content measurement, audience research, and services development, personalised advertising, and personalised content.
Personal data may be processed to do the following: use precise geolocation data and actively scan device characteristics for identification.
Our third party IAB TCF partners may store and access information on your device such as IP address and device characteristics. Our IAB TCF Partners may process this personal data on the basis of legitimate interest, or with your consent. You may change or withdraw your preferences at any time by clicking on the cookie icon or link; however, as a consequence, you may not see relevant ads or personalized content. To learn more, view the following link: Cookie Policy
웹 해킹
• 웹으로제공되는 프로그램을 해킹
• 웹?
• 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 / 기타 공격 / ......
• 공격 방법론에 따른 실습
• 실제 웹 페이지를 공격하는 일반적인 절차에 따라 실습
• 위의 공격 방식들을 적절히 사용하여 실제 해킹에 적용하기 위한 정리