보안취약점이란 정보보안의 3요소 중 최소 한가지 영향을 미치는 소프트웨어 버그
정보보안의 3요소
기밀성
무결성
가용성
해킹은 보안취약점을 공격하는 것
해킹의 기초 단계
1. 정찰 2. 스캐닝 및 취약점 분석 // 정보수집
3. 침투 // 공격(익스플로잇)
4. 권한상승 5. 백도어 관리 6. 흔적 지우기 //포스트 익스플로잇
웹 아키텍쳐
웹은 크게 클라이언트 영역과 서버영역으로 나뉜다
클라이언트에서는 웹브라우저를 이용한다
서버영역은 로직 티어(웹서버, 웹프라임워크)와 데이터 티어(데이터베이스)로 나뉨
HTTP(Hyper Text Transfer Protocol)
주로 80번 포트를 이용하여 서비스 https://는 보안이 강화된 프로토콜로 기본으로 443번 포트를 이용
HTTP 요청과 HTTP 응답으로 이루어짐
클라이언트가 요청하고 서버가 응답
HTTP 응답코드
1XX:정보전달
2XX:성공
3XX:리다이렉션
4XX:클라이언트 쪽 에러
5XX:서버 에러
세션 유지와 쿠키
HTTP는 stateless이기 때문에 세션ID를 사용하여 이전 상태를 유지(한번 로그인 후 다시 물어보지 않음)
세션ID는 보통 쿠키로 전달
쿠키란?
변수=값의 집합
서버는 Set-Cookie헤더를 이용해 쿠키를 전달하고, 브라우저에서 이를 저장해두었다가 Cookie 헤더에 전송
세션ID를 탈취함으로 세션 하이재킹 공격 가능