나의 성장기 보안/코딩$

안드로이드 진단 - Activity 컴포넌트 취약점

App 진단
@2021-10-25 16:58:49

Activity

액티비티(Activity)는 안드로이드 화면에 보여지는 것으로 사용자와 상호작용하여 데이터를 입력 받거나 정보를 보여주는 컴포넌트이다.

 

네이버 앱을 실행하면 로그인 화면이 뜨게 되고, 사용자에게 아이디와 비밀번호를 입력 받는다.

입력한 값이 일치하면 정상적으로 로그인이 되어 메인 메뉴가 실행되고, 사용자는 제공하는 기능 중 하나를 클릭하면 해당 기능을 이용할 수 있다.


<activity>태그 취약점

만일 Activity이름이 ChangePassword이고, Exported 속성이 true로 설정되어 있으므로 외부에 노출된다.

즉, 무슨소리냐면 원래는 로그인 후 패스워드를 변경해야 하지만 로그인 과정 없이 비밀번호 변경 화면을 실행할 수 있다.

 

정상적인 과정으로 패스워드 변경 로직을 이용하면 현재 로그인 한 사용자의 아이디로 설정된다. 하지만, 액티비티 강제 호출을 이용하면 newpassword가 null로 설정된다.