문제풀이

목표: 이것은 개인 메모 응용 프로그램입니다. PIN을 한 번 생성하고 올바른 PIN을 입력한 후 메모에 액세스할 수 있습니다. 이제 PIN을 모른 채 앱 외부에서 개인 메모에 액세스해 보세요.

힌트: 앱의 구성 요소가 적절하게 보호되지 않은 경우 다른 앱이나 사용자가 액세스할 수 있으며 일부는 외부 입력을 허용할 수도 있습니다. 활동, 서비스, 콘텐츠 제공자와 같은 구성 요소는 이러한 경향이 있습니다.

 


 

위 사진과 같이 ①에서 비밀번호를 설정하여, 노트에 접근을 한다.

③처럼 접근 시 설정한 비밀번호으로 인증하여 노트를 볼 수 있다.

 

위와 같이 틀린 비밀번호를 입력 시 거부되는 것을 확인할 수 있다.

해당 문제는 비밀번호를 모르는 상태에서 인증을 우회하여 개인 노트의 데이터에 접근하는 것이 목표이다.

 

AccessControl3NotesActivity .java

표시된 코드에서 인증 성공 시 프로바이저를 통해 노트의 데이터를 가져오는 것을 확인 할 수 있었다.

adb를 이용하여 해당 프로바이저에 접근하여 데이터에 접근하면 될 것으로 판단된다.

 

NotesProvider .java

CONTENT_URI의 값을 확인해보니, 접근 할 수 있는 URI가 노출이 되어 있었다.

 

adb content 명령을 통해 content에 접근을 할 수 있었다.

 

복사했습니다!