관리 메뉴

Information Security

DIVA - Access Control Issues - Part 2 본문

모바일/Android DIVA

DIVA - Access Control Issues - Part 2

HackingPractice 2021. 1. 5. 10:31

목표: 앱을 실행하지 않고 Tveeter가 제공하는 PIN을 모르는 상태로 API Credential 획득하기 / 비즈니스 로직 문제이므로 코드를 볼 필요가 있다.

그림 10-1 Access Control Issues - Part 2

Register Now 선택 후 1111 입력 시 에러 메시지가 발생하는 것을 알 수 있다.

그 10-2 PIN

뒤로 가서 Alerady Registered를 선택하면 API Credential을 확인할 수 있다.

그림 10-3 API Credentials

이번 문제와 관련된 액티비티는 2개라는 것을 알 수 있다.

그림 10-4 Manifiest.xml 

소스코드를 보면 boolean함수를 통해 aci2rbregnow의 결과를 chk_pin의 값으로 설정한다. isChecked는 체크박스가 선택되었는지를 확인하는 메서드이며 rbregnow는 Register Now체크박스인 것 같다. 따라서 Register Now 체크박스가 선택되었다면 chk_pin은 true값을 가질 것이고 아니면 false값을 가지는 것 같다.

그림 10-5 AccessControl2Activity

chk_pin의 리소스를 불러와 값이 false 인경우에 API Credentials 값을 보여준다.

그림 10-6 APICreds2Activity

DIVA App의 소스코드를 보면 false 값으로 설정되어 있는 것을 알 수 있다.

그림 10-7 소스코드

res/values/strings.xml의 정보를 확인하면 chk_pin의 실제 정보는 ckeck_pin라는 것을 확인할 수 있다.

그림 10-8 strings.xml

jakhar.aseem.diva/.APICreds2Activity 액티비티를 호출할 때 --ez옵션을 통해 check_pin의 값을 false로 지정했다.

그림 10-9 명령어

 API Credentials 정보를 확일할 수 있었다.

그림 10-10 Tveeter API Credentials