1. 디버그 로그 내 정보 노출
shell에서 logcat 명령어를 치면 디버깅 로그 내에서 저장된 정보를 볼 수 있다. 개발하는 과정에서 로그를 찍어가며 확인하기 위해 넣고, 빼지 않고 그대로 출시했을 경우 확인된다.
2. 화면 강제 실행 인증단계 우회
패스워드 저장 후, 인증단계에서 패스워드가 틀리면 데이터를 볼 수 없고, 패스워드가 일치하면 저장되어있는 데이터들을 볼 수 있다.
이때 2번째 사진에서 하는 인증단계를 우회하여 패스워드가 달라도 데이터를 볼 수 있는지 진단한다.
Manifest.xml 소스코드를 보면 exported 값이 true로 나타난다. exported가 true로 되어있다면 앱 외부에서의 접근이 가능다는 뜻이다.
이전 포스팅 중, injured.apk 분석할 때 잠깐 언급한 적 있다.
https://lyk00331.tistory.com/88
CONTENT_URI에서 uri를 파싱해오는데, 내부 저장소에서 가져올 수 있게 구성되어있다.
db 파일에 정보를 저장하고 있기 때문에 인증단계에서 일치하는 패스워드를 입력하면 db 내용이 나타나게 된다.
위에서 확인했던 exported가 true이기 때문에 앱 외부에서 접근할 수 있게 되어있으므로, 해당 db를 확인한다.
안드로이드에서 db 파일을 로컬로 옮겨준다.
가져온 db를 확인해주면 데이터들을 볼 수 있다.
외부에서 접근해 확인하는 방법은 다음과 같다.
앱 리소스에 직접 접근하는 명령어를 사용하여 데이터를 확인한다.
'App' 카테고리의 다른 글
안드로이드(Nox) Burp 프록시 환경 구성 | Burp 인증서 (0) | 2021.09.13 |
---|
댓글