반응형
설명
콘텐츠 프로바이더는 다른 앱이 현재 앱 정보에 접근할 수 있도록 도와주는 컴포넌트이다.
예를들어 뮤직 플레이어 앱을 설치하면 내 핸드폰에 저장된 음악들을 조회하는 콘텐츠 프로바이더를 사용해서
음악 파일을 가져온다. 만약, 콘텐츠 프로바이더의 접근 권한이 설정되어 있지 않다면 외부에서 접근 권한이 없는
사용자가 데이터를 조회하거나 변경할 수 있다.
앱에서 콘텐츠 프로바이더에 접근하려면 콘텐츠 리졸버와 URI가 필요하다.
콘텐츠 리졸버
다른 앱의 콘텐츠 프로바이더에 접근할 수 있게 해준다. 이때 콘텐츠 프로바이더의 주소인 URI가 필요하다.
URI
콘텐츠 프로바이더를 이용하여 데이터에 접근하려면 URI가 필요하다.
URI는 “content://authority/path”와 같은 형식으로 구성되며
autority는 콘텐츠 프로바이더 주소, path는 데이터 위치에 대한 정보를 의미한다.
취약점 진단
인시큐어 뱅크 앱을 디컴파일 하여 해당 파일을 보면 exported 속성이 "true"로 설정되어있다.
"content://" 가 포함된 항목을 검색하여 컨텐츠 프로바이더의 접근 가능한 URI 주소를 확인한다.
획득한 URI 주소를 사용해 데이터베이스에 접근할 경우, 아래 사진과 같이 로그인한 사용자 내역이 출력된다.
> nox_adb shell content query --uri content://com.android.insecurebankv2.TrackUserContentProvider/trackerusers
> nox_adb shell content query --uri content://com.android.insecurebankv2.TrackUserContentProvider/trackerusers --projection \'
대응방안
반응형
'해킹-보안 > 모바일' 카테고리의 다른 글
루팅 탐지 우회 (0) | 2020.12.09 |
---|---|
브로드캐스트 리시버 취약점 (0) | 2020.12.07 |
액티비티 컴포넌트 취약점 (0) | 2020.12.07 |
취약한 HTTP 통신 및 파라미터 조작 취약점 (0) | 2020.12.07 |
안전하지 않은 로깅 취약점 (2) | 2020.12.06 |