본문으로 바로가기

1. DIVA 1번 문제.

DIVA 1번 문제는 Insecure Logging. 안전하지 않은 로깅 문제다.

로그문제니까 로그에 해당 내용이 표시되겠지, JADX로 앱을 열어보았다.

Log.e에 해당 번호가 남는 것을 확인.

로그캣을 통해 해당 로그가 남는 것을 확인. Log.e이므로 level이 E인 것을 볼 수 있다.


2. DIVA 2번 문제.

DIVA 2번 문제는 하드코딩 문제. 

vendor 키가 하드코딩 되어있겠지.


해당 문구와 맞으면 Access granted가 토스트 메시지로 출력되는 간단한 문제.


3. DIVA 3번 문제.

DIVA 3번 문제는 Insecure Data Storage 1번 문제. 기기 어딘가에 정보가 저장되고, 해당 정보를 확인하는 문제다. 

Save 버튼을 누르면 어디엔가 저장되었다고 뜬다.

해당 부분의 함수를 살펴보니 getDefaultSharedPreferences() 메소드를 사용하여 저장하는 듯 싶다.


<구글링을 통해 getDefaultSharedPreferences()의 저장 위치는 /data/data/com.package.name/shared_prefs/com.package.name_preferences.xml임을 확인할 수 있다.>



해당 경로에 xml파일이 생성되어 있다.

해당 파일을 PC로 옮기고 열어보면 아까 저장했던 데이터를 확인할 수 있다.


3. DIVA 4번 문제.

DIVA 4번 문제는 이어서 Insecure Data Storage 2번 문제. 기기 어딘가에 정보가 저장되고, 마찬가지로 해당 정보를 확인하는 문제다.

이번엔 SQLite를 통해 저장된다. 아마 해당 앱의 Databases폴더에 저장되지 않을까.

코드에서 보았던 ids2 파일이 존재한다. 이를 PC로 옮겨주고, SQLite 뷰어를 검색해서 찾아봤다.

SQLite 뷰어를 받아서 해당 파일을 여니, 이번에도 저장했던 데이터를 확인할 수 있다.