본문 바로가기 ← 메인

🔑 취약한 비밀번호 허용

CWE-521: Weak Password Requirements

  • ⬜ 진단 시작
  • ⬜ 길이 제한 (8자 이상)
  • ⬜ 특수문자/숫자 포함
✏️ Java 코드 에디터 취약한 코드
public boolean validatePassword(String password) {
    // [취약점] 단순히 길이만 검사하고 복잡도(숫자, 특수문자 등)는 확인하지 않음
    if (password == null || password.length() < 4) {
        return false;
    }
    return true;
}
💡 가이드

비밀번호는 최소 8자 이상이어야 하며, 영문, 숫자, 특수문자를 포함해야 안전합니다. 정규표현식(Regex)을 사용하여 검증 로직을 강화하세요.

  • ⬜ 진단 시작
  • ⬜ 길이 제한 (8자 이상)
  • ⬜ 특수문자/숫자 포함
🐍 Python 코드 에디터 취약한 코드
import re

def validate_password(password):
    # [취약점] 4글자 이상이면 통과시킴
    if len(password) < 4:
        return False
    return True
💡 가이드

re 모듈을 사용하여 비밀번호 복잡도(길이, 숫자 포함 여부 등)를 검사하는 패턴을 적용하세요.

📰 실제 사고사례 & 표준 매핑
약한 비밀번호 정책은 크리덴셜 스터핑의 성공률을 높여 대량 계정 탈취로 이어집니다.
🏷️ CWE-521 OWASP A07 Identification & Auth Failures
※ 공개적으로 알려진 사례 기반 교육용 요약 · CWE/OWASP는 공개 표준 분류