일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- beebox
- XSS
- SQL Injection
- Openstack
- 인시큐어뱅크
- ctf
- MFT
- Volatility
- Suninatas
- frida
- CTF-d
- ESXi
- foremost
- vulnhub
- Strings
- otter
- logstash
- base64
- lord of sql injection
- 파이썬
- InsecureBank
- NTFS
- Docker
- 안드로이드
- diva
- elasticsearch
- kibana
- igoat
- 2018
- Reflected XSS
- Today
- Total
목록PIN (2)
Information Security

목표 : PIN번호를 설정 후 해당 번호를 통해 접근이 가능한 앱을 PIN번호를 모르는 상태로 앱을 실행하지 않고 접근하기 임의의 PIN 번호를 입력을 하면 PIN 번호가 생성되는 것을 알 수 있다. GO TO PRIVATE NOTES 번튼을 클릭하면 PIN 번호를 입력하라는 화면을 보여준다. 생성된 PIN 번호를 입력 시 정보를 보여주는 것을 알 수 있다. 소스코드를 보면 jakhar.aseem.diva.NotesProvider의 exported가 true로 설정되어 있는 것을 확인할 수 있다. provider를 통해 외부에서 해당 content를 불러올 수 있다. 소스코드에서 provider의 URI의 정보를 확인할 수 있다. 명령어를 실행하면 Private Notes에 저장되어있던 정보가 출력된다.

PIN번호를 BruteForce공격을 통해 얻어보자 ShortLoginActivity로 들어가서 확인해 보자 submit 메서드를 보면 입력된 값이 로그로 출력되는 것을 확인할 수 있다. 입력된 PIN이 workingPIN에 들어간다. checkPin메서드를 통해 전달되는 것도 확인할 수 있다. 입력한 값이 네 글자 PIN이므로 0000 ~ 9999까지 넣으면 될 것 같다. checkPin이 인자로 받고 있는 것은 string 이기 때문에 입력 값은 int형이기 때문에 string으로 변경하여 보낸다. slice(-4)의 역할 : 한자리 숫자인 경우 앞에 000을 붙여주지만 000333의 경우가 생길 수도 있다. 뒤의 네 자리를 제외한 앞자리를 제외시켜 준다. 스크립트를 실행하면 0000 ~ 99..