Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- ESXi
- diva
- MFT
- logstash
- XSS
- NTFS
- kibana
- SQL Injection
- beebox
- vulnhub
- Docker
- foremost
- elasticsearch
- 파이썬
- Openstack
- igoat
- frida
- Suninatas
- 안드로이드
- Reflected XSS
- Strings
- ctf
- 2018
- otter
- lord of sql injection
- CTF-d
- 인시큐어뱅크
- Volatility
- base64
- InsecureBank
Archives
- Today
- Total
Information Security
FridaLab - Always send "frida" to chall05() 본문
Challenge 05는 Challenge 04와 비슷하다. 04는 문자열을 한 번만 전송하면 되지만 05는 항상 전송해야 한다는 차이점이 존재한다.
if문 안의 로직은 chall04()와 동일하다. 여기서는 else문이 추가되어 전송되지 안흥면 0으로 변경된다. 함수를 보면 한 번이라도 다르면 체크를 해제하고 있는 것을 알 수 있다. 실시간으로 [CHECK] 버튼을 클릭할 때마다 "frida" 문자열이 전달되어야 해결할 수 있다. uk.rossmarks.fridala.MainActivity 내부에 있는 chall05() 메소드를 재작성한다. this.chall05()를 사용하여 호출 시, 기준 chall05()가 가진 메소드의 행위를 수행할 수 있도록 해준다. 내부 로직은 기본 로직을 이용하고 인자 값을 "frida" 문자열 넣는다.
overload를 사용한 이유는 MainActivity 안에 chall05() 메소드가 하나만 존재하지만 chall05(){}가 존재한다고 가정하고 작성했기 때문이다. 현재 스트링에 대한 인자 값을 사용했으므로 "java.lang.String"을 사용하고 하나의 인자 값을 받으므로 arg로 인수명을 설정해 주었다.
해당 소스코드를 실행한 후 FirdaLab에서 Check 버튼 클릭할 때마다 frida 문자열이 성공적으로 전송되었음을 확인한다.
FridaLab 앱을 확인하면 5번 문제가 해결된 것을 알 수 있다.
'모바일 > Frida' 카테고리의 다른 글
FridaLab - Bruteforce check07Pin() then confirm with chall07() (0) | 2020.12.15 |
---|---|
Fridalab - Run chall06() after 10 seconds with correct value (0) | 2020.05.13 |
FridaLab - chall04() 메소드에 frida 문자열 전송하기 (0) | 2020.05.07 |
FridaLab - Make chall03() return true (0) | 2020.05.06 |
FridaLab - Run chall02() (0) | 2020.04.26 |