SD-05

🌐 웹 서비스 요청 및 결과 검증 (설계)

설계단계 보안설계 · 입력검증

위험도: 상
💡 쉽게 말하면
서버가 외부 주소로 대신 요청을 보내거나 입력을 화면에 그대로 출력하면, 심부름꾼을 시켜 금지구역에 들여보내거나 손님 글을 그대로 게시판에 붙이는 것과 같습니다. 호출 도메인은 화이트리스트로 제한하고 출력은 인코딩하도록 설계해야 합니다.

🎯 직접 해보기 — 공격을 실행해 보세요

아래에서 시스템 상태를 취약 또는 안전(조치 적용)으로 바꾼 뒤 공격 실행을 눌러, 같은 공격이 어떻게 다르게 끝나는지 직접 확인하세요.

현재: 취약한 설정 — 공격이 통할까요?
# 서버가 내부망 주소로 요청하게 하거나 스크립트를 입력한다 # [공격 실행] 버튼을 누르면 시작합니다.

📋 설정 비교 (왜 막혔나?)

✗ 취약한 설정
# 설계 결정 입력 URL로 서버가 임의 요청 외부 데이터를 그대로 화면 출력 → SSRF / XSS
✓ 안전한 설정
# 설계 결정 호출 대상 도메인 화이트리스트 출력 시 컨텍스트별 인코딩 표준화 → 내부망 접근·스크립트 실행 차단

🔧 조치 방법

  1. 서버측 외부 요청은 허용 도메인/내부망 차단 정책을 설계에 포함합니다(SSRF 대응).
  2. 모든 외부 데이터 출력은 컨텍스트별 인코딩을 적용하도록 설계합니다(XSS 대응).
  3. 응답 결과의 유효성도 검증하도록 설계합니다.

✅ 점검 체크리스트

  • 외부요청 대상 제한이 설계됨
  • 출력 인코딩 표준이 정의됨
  • 응답 검증이 설계됨
점검기준: 개발보안 설계기준 1.5 웹 서비스 요청 및 결과 검증