취약점 – Sensitive Data Exposure
설명 HTTPS 미사용, 평문 데이터 노출 여부 예시 로그인 폼, 쿠키 정보 암호화 안 됨
설명 HTTPS 미사용, 평문 데이터 노출 여부 예시 로그인 폼, 쿠키 정보 암호화 안 됨
설명 디폴트 계정, 에러 메시지 노출, 디렉토리 리스팅 등 예시 서버 디폴트 페이지 노출, 에러 페이지에 내부 정보
설명 권한 검증 없이 URL/파라미터로 데이터 접근 예시 /user/1234 → /user/1235 가능 여부
설명 세션 탈취, 약한 비밀번호, 인증 우회 등 예시 세션ID 예측, 비밀번호 Brute-force
설명 악성 스크립트 삽입 후 실행 가능 여부 테스트 정의 예시 입력 시, 해당 스크립트가 브라우저에서 실행됨
설명 입력값을 통해 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(무차별 대입), 딕셔너리 공격에 쉽게 노출됨 방어법 최소 길이, 대소문자/숫자/특수문자 포함, 비밀번호 재사용 방지