DIVA 앱을 설치 후 실행하면 13개의 문제가 나오게 되는데 이 중 3번 문제인 안전하지 않은 데이터 저장소 파트 1(INSECURE DATA STORAGE - PART 1) 문제를 클릭한다
문제를 들어가게 되면 3rd party service user name, password를 입력하는 창과 함께 중요 정보를 데이터 저장소에 안전하지 않게 저장한다는 힌트가 적혀있다
3rd party 정보를 입력하는 창 내 임의의 정보(kimcogi)를 입력한 후 저장 시 성공적으로 저장됐음을 알려주는 메시지(3rd party credentials saved successfully)가 나오는 것을 볼 수 있다
3번 문제의 테마는 데이터 저장소 내 중요 정보를 안전하지 않게 저장한 것이므로 adb를 이용하여 안드로이드 어플 관련 데이터 저장소에 접근해야 한다
adb shell 명령어를 입력하여 디바이스 쉘 권한을 얻은 후 DIVA 앱의 관련 데이터가 저장되어 있는 곳인 "/data/data/jakhar.assem.diva" 경로로 이동 후 "shared_prefs" 폴더로 접근 시도한 결과 "jakhar.aseem.diva_preferences.xml" 파일 내 사용자가 입력한 ID, PW가 존재하는 것을 볼 수 있다
- 안드로이드 어플 관련 데이터 저장소 위치는 "/data/data/app package name"이며 아래의 표를 참고하면 좋을 듯하다
- 아래 표는 내부 저장소와 외부 저장소를 큰 틀로 잡아 작성한 location이며 File Explorer로 확인이 가능한 부분(ex. /sdcard, /self, /primary, /mnt 등)은 제외했다
- 내부 저장소의 "/data/user/"는 "/data/data/"의 소프트링크에 해당되므로 참고용으로 쓰는것이 좋을듯 하다
구분 종류 이름 위치 내부 저장소 /data/data/ 캐시 /data/data/<APP Package>/cache 데이터베이스 /data/data/<APP Package>/databases 파일 /data/data/<APP Package>/files /data/user/ 캐시 /data/user/0/<APP Package>/cache 데이터베이스 /data/user/0/<APP Package>/databases 파일 /data/user/0/<APP Package>/files 외부 저장소 /storage/ 공용 영역 /storage/emluated/0/ APP 영역 /storage/emulated/0/Android/data/<APP Package>
아래 사진은 "/data/data/"의 소프트링크인 "/data/user"로 접근 시도 했을 때에도 동일하게 경로 접근이 가능한 모습을 보여준 사진이다
반응형