OWASP Top 10 2013 - A4. Insecure Direct Object References (취약한 직접 개체 참조)
Wr4ith2014. 5. 28. 18:29
취약한 직접 객체 참조
정의 및 취약점 발생 환경
취약한 직접 객체 참조란 개발자의 부주의로 인해 파일, 디렉토리, 데이터베이스의 레코드 등이 URL 이나 변수로 내부의 객체를 노출시킬 때
발생하는 취약점이다. 직관적으로 개발자는 종종 웹 페이지를 구성할 때 예측하기 쉬운, 혹은 실제 이름을 키 값으로 사용한다. 그리고 사용자가 요청하는 페이지에 대하여 적절한 인증 절차를 생략한 경우가 이따금 발생하기 마련인데, 이런 부분을 통하여 본 취약점이 발생한다.
공격 유형 취약한 직접 객체 참조 취약점을 이용한 공격에는 파라미터 변조, 파일 다운로드 취약점이 있다. 직접적으로는 DB나 서버 객체에 접근을 시도하는 취약점이여서 상당히 위협적인 취약점이라 할 수 있다. 파라미터 변조 공격은 매개변수라고 불리는 파라미터를 변조하여 비정상적인 동작을 일으키는 공격이다.
그리고 파일 다운로드 취약점은, 파라미터 변조 취약점에서 파생된 공격이라고 생각하면 이해가 쉽다.
(마치 CSRF가 XSS에서 파생된것처럼) 파일 다운로드 취약점은 파라미터를 조작하여 절대경로가 아닌 상대 경로로 웹 어플리케이션이 설치된 디렉토리의 상위로 접근하여
시스템 중요 파일들이나 다른 파일에 접근이 가능한 공격이다. (일반적으로 디렉토리 리스팅 취약점과 동반) 서버가 리눅스로 운영된다고 가정하고, 본 서버는 abc.com 이며 사용자가 다음과 같이 파일을 다운로드 하는 URL을 요청한다고