본문 바로가기

카테고리 없음

DIVA 9단계

#1 문제 분석

가. 목적

앱 외부에서 api credential에 접근해보자

나. 활용

소스코드,adb

#2 취약점 정보

가. 취약점

<activity> 내의 <intent-filter>로 보호하면 안 된다.

 

나. 취약점 확인법

클릭하면 정보가 출력되는 앱. 외부에서 그 정보에 접근할 수 있다.

adb를 써야한다.

 

logcat 결과 jakhar.aseem.diva/.APICredsActivity 액티비티에서 디스플레이 한거다.

nox에서 diva내부 저장소가 아니라 diva 코드에 접근해야하나? 

APICredsActivity

코드 내에 텍스트로 되어있는 걸.... 외부에서 접근? 

다른 서비스에서 접근해야하나보다.

외부에서 접근하는 법.

 

 

나는 안드로이드 내부 저장소에서 찾아서 cat으로 보는 건 줄 알았는데

 앱의 홈화면에서 이렇게 했을 때 view를 클릭하지 않고도 apicredential 화면으로 이동할 수 있었다....

 

 #3 코드 분석

 

1.

import android.content.Intent;
Intent i = new Intent();

 

intent는 안드로이드 애플리케이션 간 통신, 액티비티의 시작, 서비스의 시작 등의 목적으로 사용됨.

 

2.

if (i.resolveActivity(getPackageManager()) != null) {

resolveActivity 처리할 수 있는 액티비티를 찾아서 반환. getPackageManager는 현재 애플리케이션의 패키지 매니저 가져옴

packageManager: 애플리케이션 실행 가능 여부 확인, 애플리케이션 구성 요소 시작 등