안녕하십니까 코딩 파인애플입니다
이번에는 IDOR에 관해 알아보겠습니다.
IDOR(Insecure Direct Object Reference)은 웹 애플리케이션 보안 취약점 중 하나로, 접근 제어가 제대로 이루어지지 않아 발생하는 대표적인 취약점입니다
IDOR의 특징 중 하나가 매우 쉬운 해킹인데 단순 URL같은 곳에 딸깍 몇 번이면 털린다는 특징이 존재합니다

딸깍 ㅋㅋㅋ
예를 들자면 https://example.com/user/profile?userid=1005이라는 URL이 존재한다 가정했을 때
userid의 숫자만 단순 1~1004 중 하나로 변경한다면 해당 유저 번호에 일치하는 계정으로 로그인 할 일 없이 단순하게 로그인이 된다는 점입니다.
IDOR 취약점은 URL에만 국한되지 않고 HTTP Body, HTTP Header / Cookie, API 엔드포인트 등을 통해서도 발생됩니다
특히 F12를 통해 볼 수 있는 HTTP 환경에 단순 on을 off로 바꾸는 것으로도 발생하기도 합니다.
그렇다면 이런 딸깍ㅋㅋ 만으로 털리는 IDOR 취약점은 왜 발생할까요
이는 서버 측의 '권한 검증' 누락되었기에 발생하는 게 대표적입니다
인증 (Authentication): "이 사람이 로그인한 사용자가 맞는가?"
인가/권한 검증 (Authorization): "이 사용자가 요청한 데이터(객체)에 접근할 권한이 있는가?"
IDOR 취약점이 있는 서버는 1번(로그인 여부)만 확인하고,
2번(요청한 데이터가 진짜 이 사람의 데이터가 맞는지)을 검증하지 않습니다.
이런 간단한 실수로 인해 IDOR 취약점이 발생하는 까닭입니다.
한번 배웠던 내용을 실습해봅시다
https://dreamhack.io/wargame/challenges/2814
이상으로 글을 마치겠습니다 감사합니다
