DIVA 앱을 실행하고 Insecure Data Storage - 2를 선택하면 그림 1-1과 같이 계정 정보 입력 창이 나온다. 아이디, 패스워드를 넣고 Save 버튼을 누르면 계정 정보들이 앱의 내부 저장소에 저장된다.
해당 앱의 소스 코드를 확인하면 Databases 폴더의 ids2 파일에 계정 정보를 전송하고 있음을 볼 수 있다. 현재 소스 코드를 보면 데이터베이스에 계정정보가 저장될 때 아무런 암호화 조치도 없이 그대로 저장되고 있음을 확인할 수 있다.
adb shell을 실행해 cd /data/data/jakhar.aseem.diva 폴더에 접근해 목록을 확인하면 중요 정보들이 저장되는 폴더들을 확인할 수 있다. 그림 1-2에서 본 것과 같이 Databases 폴더에 입력한 값들이 저장되고 있기 때문에 cd databases를 입력해 databases 폴더에 접근한다. databases 폴더에 접근하면 ids2 파일이 있는데 ids2 파일에 그림 1-1에서 입력한 계정 정보가 저장되고 있는 것이다.
데이터베이스 정보를 확인하기 위해 SQlite를 실행한다. 리눅스 환경에서도 실행이 가능하기 때문에 sqlite3 ids2를 입력한다. 이 때 ids2는 정보가 담긴 파일이다. sqlite3가 실행되면 .tables를 입력해 테이블 정보들을 확인한다. 테이블 정보를 보면 myuser이 있는데 이 테이블에 접근한다.
myuser 파일을 덤프해서 확인해보면 데이터베이스에 그림 1-1에 입력했던 계정 정보들이 들어가는 것을 확인할 수 있다. 하지만 여기서 취약점은 암호화 되지 않은 상태로 계정 정보가 데이터베이스에 저장되고 있다는 것이다.
'안드로이드 앱 취약점 진단 > DIVA' 카테고리의 다른 글
[안드로이드 APK 진단]DIVA - 6. 안전하지 않은 데이터 저장 확인 - 4 (0) | 2019.09.09 |
---|---|
[안드로이드 APK 진단]DIVA - 5. 안전하지 않은 데이터 저장 확인 - 3 (0) | 2019.09.08 |
[안드로이드 APK 진단]DIVA - 3. 안전하지 않은 데이터 저장 확인 - 1 (0) | 2019.09.08 |
[안드로이드 APK 진단]DIVA - 1. 안전하지 않은 로깅 (0) | 2019.09.07 |
안드로이드 백업 취약점 (0) | 2018.10.11 |