직역하면 안전하지 않은 직접 객체 참조이며 부적절한 인가라고 표현한다.
OWASP(Open Web Application Security Project, 소프트웨어 보안 발전을 위해 노력하는 비영리 단체)에서 3~4년 주기로 발표하는 웹 취약점 TOP 10의 1위인 Broken Access Control과 연관이 있다.
서버에서 수행해야할 권한 검증 및 접근 제어를 클라이언트에서 수행하는 경우가 잦아지면서 많이 발견되는 추세이다.
수평적/수직적 권한 상승이 발생하며, 이를 통해 타 사용자 정보에 접근해 유출하거나 기존 권한으로는 사용이 불가능한 기능을 이용하는 문제가 생긴다.
동일한 권한을 가진 다른 사용자의 객체에 접근할 수 있을 때를 말한다.
타 사용자의 정보 조회
GET /mypage/info?memberId=1111 HTTP/2
Host: insecure-web.com
타 사용자의 전화번호 임의 변경
PUT /mypage/info/1111 HTTP/2
Host: insecure-web.comphone=010-1111-1111
지닌 권한을 넘어서는 기능을 수행할 수 있을 때를 말한다.
관리자 권한으로 임의 사용자 계정 삭제
DELETE /user/member/1111 HTTP/2
Host: insecure-web.com
Cookie: role=admin
관리자페이지 직접 접근을 통해 권한 상승
GET /admin/dashboard HTTP/2
Host: insecure-web.com
클라이언트 사이드에서 검증을 수행할 경우 공격자가 모두 우회할 수 있기 때문에 검증은 반드시 Session 또는 서버에서 발급한 Token을 통해 서버에서 수행해야 한다.