본문 바로가기
보안/Android 취약점 진단

[DIVA] 모바일 취약점 진단 3. Insecure Data Storage - PART 1

by noootella 2024. 9. 19.
반응형

 

 

[오늘의 학습목표]

 1. 입력값이 어디에 저장되는지

 2. 취약한 코드형태 확인

 


[모바일 취약점 진단 실습 3. Insecure Data Storage - PART 1]

 

3. Insecure Data Storage - PART 1 을 클릭하면 유저네임과 패스워드가 어디에 저장되는 지 확인하는 문제가 나온다.

 

아무 값이나 입력하면 3rd party credentials saved successfully! 라는 문구가 뜨며, 계정이 저장된 것을 확인할 수 있다.

 

그럼 이 계정은 어디에 저장되었을까?

 

jadx를 통해 소스코드를 살펴보자.

텍스트 검색을 통해 toast 메시지 값을 검색하면 4개의 activity가 나온다.

 

 

그 중 InsecureDataStorage1Activity 인 첫번째 줄을 더블클릭하면 해당 문구가 있는 activity를 바로 열어준다.

 

 

아래의 코드를 보면 SharedPreference에 값을 저장하고 있는 것을 알 수 있다.

*SharedPreference란? 간단하게 값을 저장할 때 쓰임(해당 내용은 나중에 정리해두겠다.)

 

 

그러면 sharedpreference로 가서 값이 저장되었는지 확인해보자.

adb shell로 들어가서 data로 이동해주자

명령어
adb shell
ls

 

해당 폴더를 보면 지금 nox에 설치되어있는 앱들이 좌라락 나열되어있다.

우리가 설치한 diva앱은 맨 아래에 있다. 해당 패키지로 이동하자.

명령어
cd /data/data
ls

 

 

해당 패키지에 shared_prefs라는 디렉터리를 확인할 수 있다.

해당 디렉터리에 방금 우리가 입력한 값이 저장됐는지 확인하자. 오른쪽 캡처본은 아까 입력한 값이 저장된 화면이다.

명령어
cd jakhar.aseem.diva/          //diva패키지로 이동
ls -al                                     //패키지 내 디렉터리 확인(sharedpreference 확인)
cd shared_prefs                   //shared_prefs 디렉터리 이동
ls -al                                     //디렉터리 내부 확인
cat jakhar.aseem.diva_preferences.xml          //xml파일 내용 출력

 

 


[오늘의 학습]

앱 내부에 간단하게 정보를 저장할 수 있는 공간인 sharedpreference에 대해서 알게 되었고, 해당 공간에 중요정보가 저장되면 취약하다는 것을 알 수 있었다.

 

 

[참고]

 - 인프런 : 안드로이드-앱-모의해킹-진단-완벽-실습

https://jige.tistory.com/33

반응형