반응형
IDOR란?
Insecure Direct Object References (IDOR)는 웹 애플리케이션에서 발생하는 보안 취약점으로, 인증된 사용자가 다른 사용자의 데이터나 리소스에 접근할 수 있도록 허용하는 문제입니다.
취약점 특징
- 보통 URL, 요청 파라미터, 또는 쿠키에 포함된 식별자(ID) 값이 제대로 검증되지 않을 때 발생.
- 사용자가 자신의 권한 범위를 벗어나 다른 사용자의 데이터를 열람하거나 조작 가능.
문제 해결 과정
1. 회원가입 및 로그인
- 시작: 웹사이트에 회원가입 후 로그인.
- 로그인 후 개인 게시물만 확인 가능한 상태에서 취약점 여부를 조사.
2. 게시물 ID 확인
- URL 분석:
- 게시물 접근 시 /post/{ID} 형태의 URL 사용:
/post/11
- 게시물 접근 시 /post/{ID} 형태의 URL 사용:
- 이 구조는 ID 값이 다른 사용자의 게시물에 접근 가능하다는 가능성을 제시.
3. IDOR 취약점 확인
- 테스트:
- URL의 ID 값을 임의로 변경:
/post/12
- URL의 ID 값을 임의로 변경:
- 결과:
- 내가 작성하지 않은 다른 사용자의 게시물에 접근 가능.
- 이는 서버가 사용자의 권한을 제대로 검증하지 않는다는 것을 의미.
4. 첫 번째 게시물 접근
- 목표: 플래그가 포함된 게시물 찾기.
- URL을 /post/1로 변경하여 첫 번째 게시물에 접근:
/post/1
- 결과:
- 첫 번째 게시물 본문에 플래그가 포함되어 있었음.
취약점 분석
문제 원인
- 권한 검증 부족:
- 서버가 요청을 처리할 때, 사용자가 해당 리소스에 접근할 권한이 있는지 확인하지 않음.
- 식별자 노출:
- 리소스에 대한 고유 ID가 클라이언트에게 직접 노출.
보안 대책
- 서버 측 권한 검증:
- 요청을 처리하기 전에 사용자가 해당 리소스에 접근할 권한이 있는지 확인.
- 예: 게시물 소유자와 요청 사용자가 동일한지 확인.
- 식별자 보안 강화:
- ID를 예측 불가능한 값으로 대체:
- UUID(Universally Unique Identifier) 또는 해시 값 사용.
- ID를 예측 불가능한 값으로 대체:
- 로깅 및 모니터링:
- 의심스러운 요청 패턴(예: ID 순차 증가 요청)을 탐지하고 대응.
반응형
'Security > CTF' 카테고리의 다른 글
| 9 File Upload (0) | 2025.01.22 |
|---|---|
| 12.3 Race condition (0) | 2025.01.22 |
| 12.1 Business_logic_error (0) | 2025.01.22 |
| 8.2 SSTI - secretkey (0) | 2025.01.22 |
| 8.1 SSTI - server flag (0) | 2025.01.22 |