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

정의 인증 절차가 허술하여 공격자가 로그인 없이 민감 정보에 접근할 수 있는 상태입니다. 예시 로그인 없이 특정 API 호출 시 사용자 정보가 노출됨 위험성 인증 우회, 비인가 정보 접근, 계정 탈취 방어법 모든 민감 요청에 인증 필수, 토큰 기반 인증 적용, 세션 검증 강화

취약점 분석 – 취약한 패스워드 복구

정의 비밀번호 찾기/초기화 과정에서 인증 절차가 약해 공격자가 계정 탈취가 가능한 경우입니다. 예시 “당신의 고양이 이름은?” 같은 질문으로 비밀번호 초기화 가능 위험성 비밀번호 초기화 링크 탈취, 인증 우회로 인한 계정 장악 방어법 이메일 인증, 재설정 토큰 만료 설정, 인증절차 강화

취약점 분석 – 크로스사이트 리퀘스트 변조 (CSRF)

정의 로그인된 사용자의 브라우저를 속여, 사용자의 권한으로 악성 요청을 보내는 공격입니다. 예시 피해자가 로그인된 상태에서 공격자가 만든 링크 클릭 → 계정 정보 변경 위험성 비인가 송금, 게시글 삭제, 설정 변경 등 민감 요청이 실행됨 방어법 CSRF 토큰 사용, Referer/Origin 검증, SameSite 쿠키 설정

취약점 분석 – 세션 예측

정의 세션 ID가 예측 가능한 패턴으로 생성되어 공격자가 다른 사용자의 세션을 탈취할 수 있는 취약점입니다. 예시 sessionid=1001, 1002 형식으로 증가하면 예측 가능 위험성 세션 탈취, 권한 도용 방어법 난수 기반 세션 ID 사용, HTTPS 적용, 세션 재생성 적용

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

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

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

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

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

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

취약점 분석 – 자동화 공격

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

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

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

취약점 분석 – 파일 업로드

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