김승현

Bugbounty Boot Camp Chap.10 INSECURE DIRECT OBJECT REFERENCES 본문

book_summary

Bugbounty Boot Camp Chap.10 INSECURE DIRECT OBJECT REFERENCES

kshind 2024. 7. 28. 01:09

IDOR(Insecure Direct Object References)란?

IDOR는 사용자가 객체 ID, 객체 번호 또는 파일 이름을 직접 참조하여 자신에게 속하지 않은 리소스에 접근 가능한 것과 같이 본질적으로 누락된 접근 제어를 의미함

 

가상 시나리오

example.com은 채팅 서비스이고 사용자의 아이디 및 비밀번호는 사이트가 저장하고 있음

https://example.com/messages?user_id=1234는 1234라는 아이디를 가진 사용자의 채팅기록을 볼 수 있는 URL임

이때 1234를 1233으로 고칠 수 있는데 이때 따로 접근 제어가 없다면 이는 IDOR 취약점이 존재하는 것임

 

IDOR 취약점의 영향

  • 접근하면 안 되는 정보 읽기
  • 임의의 정보 수정 및 삭제
  • 데이터베이스 객체 외 리소스 또한 영향을 받을 수 있음

IDOR 취약점 예방법

이 취약점은 애플리케이션이 두 가지 역할을 제대로 하지 못할 때 발생한다고 할 수 있음

  1. 사용자 신원에 기반한 접근 제어
  2. 사용자의 자원을 참조하기 위해 고유하고 예측 불가능한 키 또는 해시 사용

IDOR 헌팅법

  1. 두 개의 계정 생성
  2. 특징 발견 및 분석
  3. request 확인
  4. 특징값(ID)들 변경