일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Volatility
- igoat
- Strings
- 인시큐어뱅크
- SQL Injection
- 안드로이드
- lord of sql injection
- XSS
- foremost
- diva
- 2018
- Openstack
- NTFS
- InsecureBank
- Docker
- MFT
- logstash
- ESXi
- CTF-d
- base64
- elasticsearch
- kibana
- ctf
- otter
- 파이썬
- Reflected XSS
- beebox
- vulnhub
- frida
- Suninatas
- Today
- Total
Information Security
DIVA - Access Control Issues - Part 2 본문
목표: 앱을 실행하지 않고 Tveeter가 제공하는 PIN을 모르는 상태로 API Credential 획득하기 / 비즈니스 로직 문제이므로 코드를 볼 필요가 있다.

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

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

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

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

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

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

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

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

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

'모바일 > Android DIVA' 카테고리의 다른 글
DIVA - HardCoding Issues - Part 2 (0) | 2021.01.06 |
---|---|
DIVA - Access Control Issues - Part 3 (0) | 2021.01.06 |
DIVA - Access Control Issues - Part 1 (0) | 2021.01.05 |
DIVA - Input Validation Issues - Part 2 (0) | 2021.01.04 |
DIVA - Input Validation Issues - Part 1 (0) | 2021.01.04 |