본문 바로가기
App

디버그 로그 내 정보 노출, 화면 강제 실행 인증단계 우회

by 09337 2021. 11. 1.

1. 디버그 로그 내 정보 노출

shell에서 logcat 명령어를 치면 디버깅 로그 내에서 저장된 정보를 볼 수 있다. 개발하는 과정에서 로그를 찍어가며 확인하기 위해 넣고, 빼지 않고 그대로 출시했을 경우 확인된다.

 

2. 화면 강제 실행 인증단계 우회

패스워드 저장 후, 인증단계에서 패스워드가 틀리면 데이터를 볼 수 없고, 패스워드가 일치하면 저장되어있는 데이터들을 볼 수 있다.

이때 2번째 사진에서 하는 인증단계를 우회하여 패스워드가 달라도 데이터를 볼 수 있는지 진단한다.

 

Manifest.xml 소스코드를 보면 exported 값이 true로 나타난다. exported가 true로 되어있다면 앱 외부에서의 접근이 가능다는 뜻이다.

이전 포스팅 중, injured.apk 분석할 때 잠깐 언급한 적 있다.

https://lyk00331.tistory.com/88

 

injured.apk | FLAG TWO - EXPORTED ACTIVITY

2번은 첫 화면에서 우회하여 다른 화면을 불러올 수 있다고 알려준다. 147번 라인을 보면 Manifest에서 exported 값이 true로 설정되어있는 것을 볼 수 있다. 인텐트를 허용하면 다른 곳에서 이 활동을

lyk00331.tistory.com

 

CONTENT_URI에서 uri를 파싱해오는데, 내부 저장소에서 가져올 수 있게 구성되어있다.

db 파일에 정보를 저장하고 있기 때문에 인증단계에서 일치하는 패스워드를 입력하면 db 내용이 나타나게 된다.

 

위에서 확인했던 exported가 true이기 때문에 앱 외부에서 접근할 수 있게 되어있으므로, 해당 db를 확인한다.

안드로이드에서 db 파일을 로컬로 옮겨준다.

가져온 db를 확인해주면 데이터들을 볼 수 있다.

 

외부에서 접근해 확인하는 방법은 다음과 같다.

앱 리소스에 직접 접근하는 명령어를 사용하여 데이터를 확인한다.

'App' 카테고리의 다른 글

안드로이드(Nox) Burp 프록시 환경 구성 | Burp 인증서  (0) 2021.09.13

댓글