WEB SECURITY BASELINE

웹 요청 흐름과 공격 지점

브라우저, 서버, DB, 세션의 연결을 보면 SQLi, XSS, CSRF, 세션 탈취가 어디서 발생하는지 빠르게 정리된다.

HTTP 요청과 응답
Cookie / Session 상태 유지
Auth 인증과 인가
Risk 위협과 대응

로그인 요청은 네 구간을 지나간다

어느 구간에서 검증이 빠지는지 찾으면 공격 이름과 대응 방법이 함께 정리된다.

Browser

입력과 쿠키 보관

사용자가 계정 정보를 입력하고 브라우저는 쿠키를 저장해 요청에 붙인다.

HTTP

요청과 응답

GET, POST 요청이 서버로 이동하고 HTTPS는 전송 구간을 보호한다.

Web Server

인증과 인가 판단

로그인 성공 여부와 사용자가 접근 가능한 기능인지 확인한다.

DB / Session

계정 확인과 상태 유지

DB에서 계정을 확인하고 세션을 발급해 이후 요청의 상태를 유지한다.

공격은 위치로 외우면 답안이 짧아진다

입력창, 게시판, 로그인 상태, 요청 처리, 권한, 업로드 위치로 나누어 본다.

입력창

SQL Injection

입력값에 SQL 구문을 섞어 DB 질의 의미를 바꾼다.

게시판·댓글

XSS

악성 스크립트가 사용자 브라우저에서 실행되게 만든다.

로그인 상태

세션 탈취

세션 식별자를 빼앗아 사용자인 것처럼 요청한다.

요청 처리

CSRF

로그인된 사용자가 원치 않는 요청을 보내게 유도한다.

요청 권한 경계 확인

접근제어 취약점

인증은 됐지만 허용되지 않은 기능이나 데이터에 접근한다.

파일 업로드

웹셸 업로드

실행 가능한 파일을 올려 서버 명령 실행으로 이어진다.