취약점 – XSS (Cross-Site Scripting)
설명 악성 스크립트 삽입 후 실행 가능 여부 테스트 정의 예시 입력 시, 해당 스크립트가 브라우저에서 실행됨
설명 악성 스크립트 삽입 후 실행 가능 여부 테스트 정의 예시 입력 시, 해당 스크립트가 브라우저에서 실행됨
설명 입력값을 통해 SQL, OS 명령어, LDAP 쿼리 등을 주입 예시 SQL Injection, OS Command Injection
웹 애플리케이션이 사용자 입력값을 이용해 LDAP 검색 쿼리를 만들 때, 그 입력값을 검증하지 않으면 공격자가 LDAP 구문을 조작해 인증 우회, 정보 노출을 유발할 수 있는 공격 로그인 기능에서 LDAP 사용 사용자가 아래와 같이 입력한다면? → 최종 LDAP 필터가 이렇게 됨: → 모든 사용자의 조건과 일치 → 인증 우회 발생!! 공격 목적
프로그래밍 언어나 애플리케이션이 내부적으로 운영체제의 커맨드(명령어)를 실행하는 기능 예 예시 (Java) → 공격자 입력 → 실제 실행 → 서버 전체 삭제 가능 항목
정의 사용자 입력을 통해 SQL 쿼리를 조작하여, DB에서 민감 정보 탈취 또는 변경하는 공격 예시 로그인 창에 ‘ OR ‘1’=’1 입력 → 모든 사용자 로그인 우회 위험성 사용자 정보 탈취, 비밀번호 우회, DB 구조 노출, 테이블 삭제 등 방어법 Prepared Statement 사용, ORM 도입, 입력값 검증, DB 계정 권한 제한
정의 비밀번호가 너무 짧거나 단순한 조합으로 구성되어 쉽게 추측 가능한 상태입니다. 예시 비밀번호로 1234, password, abcd 등을 허용하는 경우 위험성 Brute-force(무차별 대입), 딕셔너리 공격에 쉽게 노출됨 방어법 최소 길이, 대소문자/숫자/특수문자 포함, 비밀번호 재사용 방지
정의 인증 절차가 허술하여 공격자가 로그인 없이 민감 정보에 접근할 수 있는 상태입니다. 예시 로그인 없이 특정 API 호출 시 사용자 정보가 노출됨 위험성 인증 우회, 비인가 정보 접근, 계정 탈취 방어법 모든 민감 요청에 인증 필수, 토큰 기반 인증 적용, 세션 검증 강화
정의 비밀번호 찾기/초기화 과정에서 인증 절차가 약해 공격자가 계정 탈취가 가능한 경우입니다. 예시 “당신의 고양이 이름은?” 같은 질문으로 비밀번호 초기화 가능 위험성 비밀번호 초기화 링크 탈취, 인증 우회로 인한 계정 장악 방어법 이메일 인증, 재설정 토큰 만료 설정, 인증절차 강화
정의 로그인된 사용자의 브라우저를 속여, 사용자의 권한으로 악성 요청을 보내는 공격입니다. 예시 피해자가 로그인된 상태에서 공격자가 만든 링크 클릭 → 계정 정보 변경 위험성 비인가 송금, 게시글 삭제, 설정 변경 등 민감 요청이 실행됨 방어법 CSRF 토큰 사용, Referer/Origin 검증, SameSite 쿠키 설정
정의 세션 ID가 예측 가능한 패턴으로 생성되어 공격자가 다른 사용자의 세션을 탈취할 수 있는 취약점입니다. 예시 sessionid=1001, 1002 형식으로 증가하면 예측 가능 위험성 세션 탈취, 권한 도용 방어법 난수 기반 세션 ID 사용, HTTPS 적용, 세션 재생성 적용