웹 보안 확장 학습
기초 문제에서 배운 신뢰 경계를 API, 코드 복원, 클라우드 설정으로 넓혀 보세요. 이 페이지는 개념·정책 검토이며 새로운 FLAG 문제나 실제 클라우드 실습이 아닙니다.
API: 객체·속성·기능 권한
API에서는 같은 엔드포인트를 호출할 수 있어도 특정 자료, 필드, 기능에 대한 권한은 서로 다릅니다. 화면에서 입력을 숨기는 것만으로 서버의 쓰기 권한이 제한되지는 않습니다.
가상의 문의 API에서 일반 사용자는 자신의 문의를 읽을 수 있습니다. 그렇다고 타인의 문의를 읽거나 자신의 role 필드를 수정할 권한까지 얻는 것은 아닙니다.
무엇을 확인할까요?
문의 ID를 바꿔도 서버가 요청자와 소유자·조직을 대조하는가?
표시 이름과 role처럼 민감도가 다른 필드의 읽기·쓰기 정책을 분리하는가?
관리자 전용 작업은 URL이나 버튼 노출 여부와 무관하게 서버에서 역할을 확인하는가?
이해 확인 · 자기 프로필을 수정할 수 있는 사용자가 role도 바꿀 수 있나요?
아니요. 같은 객체 안에서도 필드별 쓰기 권한을 별도로 확인해야 합니다. 정상적인 이름 변경은 허용하고 role 변경은 거부하는지 함께 재검증합니다.
역직렬화: 입력을 데이터로 제한
역직렬화는 저장·전송된 표현을 프로그램의 자료로 되돌리는 과정입니다. 외부 입력이 임의의 객체 타입이나 복원 중 동작을 결정할 수 있을 때 위험해집니다. JSON을 읽는 모든 코드가 곧 코드 실행 취약점이라는 뜻은 아닙니다.
가상의 사용자 설정을 복원하는 코드를 검토합니다. 허용하는 키와 값의 타입, 최대 크기, 알 수 없는 키를 처리하는 방식이 명시돼 있는지 살펴보세요.
무엇을 확인할까요?
쿠키·업로드·메시지 큐 등 외부에서 바꿀 수 있는 자료를 식별하는가?
입력이 객체 타입이나 후처리 동작을 임의로 고르게 하지 않는가?
허용 스키마·크기·중첩 깊이를 적용하고 정상 설정은 계속 읽히는가?
이해 확인 · 입력에 서명을 붙였으면 임의 객체 복원을 허용해도 되나요?
아니요. 서명은 변조 여부를 확인하는 별도 경계입니다. 복원할 타입과 동작을 제한하고, 키 유출이나 정상 발급 경로의 오용도 고려해야 합니다.
클라우드: 공개 설정과 최소 권한
클라우드에서는 저장소의 공개 정책, 역할 권한, 실제 파일 제공 경로가 접근 가능 범위를 함께 결정합니다. 파일 주소를 모른다는 사실만으로 비공개가 보장되지는 않습니다.
가상의 문서 저장소에 공개 안내서와 비공개 고객 문서가 있습니다. 익명 사용자·문서 소유자·운영자별로 어떤 파일을 읽을 수 있어야 하는지 먼저 정합니다. 실제 클라우드 계정이나 자격증명은 사용하지 않습니다.
무엇을 확인할까요?
공개 문서와 비공개 문서가 다른 정책으로 제공되는가?
저장소 설정뿐 아니라 역할 정책과 CDN·애플리케이션 제공 경로도 확인하는가?
유출된 키를 폐기·회전하고 기존 접근과 로그를 조사하는가?
이해 확인 · 공개 접근 차단 설정만 켜면 모든 노출 경로가 해결되나요?
아니요. 저장소 정책과 IAM 권한, CDN·애플리케이션의 다른 제공 경로를 함께 검토해야 합니다. 익명 접근 거부와 정상 사용자의 접근 허용을 각각 확인합니다.
분류 기준: API 항목은 OWASP API Security Top 10:2023을 따릅니다. 이 세 주제는 기존 20개 워게임의 FLAG 범위와 별개이며, 이해 확인을 열어 보는 것으로 실무 역량이 인증되지는 않습니다.