취약점 분석 – 불충분한 인가

정의 로그인한 사용자가 자신의 권한 범위를 넘어 민감 기능 또는 데이터에 접근 가능한 상태입니다. 예시 일반 사용자가 /admin URL에 접근해 관리자 기능을 사용할 수 있음 위험성 권한 상승, 정보 유출, 서비스 조작 방어법 서버 측 권한 확인, 리소스 접근 제어 구현

취약점 분석 – 불충분한 세션 만료

정의 사용자 로그아웃 또는 일정 시간 경과 후에도 세션이 유효한 상태입니다. 예시 로그아웃 후 브라우저를 다시 열면 계속 로그인 상태 유지 위험성 세션 탈취 시 장시간 재사용 가능 방어법 로그아웃 시 세션 삭제, 세션 타임아웃 설정

취약점 분석 – 세션 고정 (Session Fixation)

정의 공격자가 고정된 세션 ID를 미리 발급하고, 피해자가 해당 세션으로 로그인하게 만드는 공격입니다. 예시 공격자가 URL에 세션 ID 포함하여 링크 전달 → 로그인 후 공격자가 세션 탈취 위험성 세션 탈취 후 피해자 권한 도용 방어법 로그인 시점에 세션 재생성, URL에 세션 ID 전달 금지

취약점 분석 – 자동화 공격

정의 스크립트 또는 봇을 이용하여 로그인 시도, 게시글 등록 등 반복적인 요청을 자동으로 보내는 공격입니다. 예시 로그인 페이지에 봇을 이용해 수천 건의 계정/비밀번호 조합 입력 위험성 서비스 마비, 계정 탈취, 부정 사용 방어법 CAPTCHA, 속도 제한(Rate Limiting), Bot 탐지

취약점 분석 – 프로세스 검증 누락

정의 사용자 행동 흐름(상태 전이)에 대한 검증이 없어, 중간 단계를 건너뛰고 민감 기능에 접근 가능한 상태입니다. 예시 결제 진행 없이 결제 완료 페이지 접속 가능 위험성 금전적 손실, 업무 로직 우회 방어법 요청 흐름 및 상태 확인 로직 구현, 서버 측 상태 검사

취약점 분석 – 파일 업로드

정의 사용자 업로드 기능을 통해 악성 파일을 업로드하고, 실행 가능하게 만드는 취약점입니다. 예시 webshell.php 업로드 후 URL로 직접 접근해 실행 위험성 원격 코드 실행, 서버 탈취, 백도어 설치 방어법 확장자/타입 제한, 실행권한 제거, 업로드 디렉토리 분리

취약점 분석 – 파일 다운로드

정의 파일 다운로드 기능에서 사용자가 직접 파일명을 조작해 서버의 민감 파일을 다운로드할 수 있는 취약점입니다. 예시 위험성 내부 소스코드, 설정 파일, 민감 데이터 유출 방어법 경로 정규화, 화이트리스트 적용, 사용자 정의 경로만 허용