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

uk.rossmarks.fridalab.MainActivitiy 내부에 chall07() 메서드가 존재하며 내부에 if, else문이 있다. 어떤 메서드를 호출했을 때 값이 참이 되면 7번째 값을 1로 setting 하여 빨간색 글씨를 초록색으로 변화시킨다. (문제 chall07() 메소드에서 String 자료형을 받아온 것을 if문 내부에 있는 check07Pin() 메서드를 호출할 때 인자 값으로 주어지고 있다. 이 값을 true로 만들어 보자. [Ctrl] 버튼을 누른 상태에서 challenge_07을 클릭하면, 해당 클래스로 이동할 수 있다. 클래스 내부에 check07Pin()이 동작한다. 인수로 받아온 String 값이 chall07과 같으면 true를 반환한다. chall07 값은 ..

Navigation -> Text search에서 메소드를 찾았다. chall06() 메소드에 int 정수형 값을 주고 if문에서 true가 된다면 문제를 해결하는 형태를 갖고 있다. if문 내부의 challenge_06.confirmCahll06(i) 값이 true가 되어야 한다. confirmChall06(int i) 메소드를 보면 두 가지 조건을 충족해야 true를 return 반환 할 수 있다. i == chall06, system.currentTimeMillis() > timeStart + 10000 -> 10초 지나야지만 참인 결과를 반환한다. 1. i == chall06 chall06 value 찾기, i == chall06 -> confirmchall06이 받고 있는 i 값을 chall06..

Challenge 05는 Challenge 04와 비슷하다. 04는 문자열을 한 번만 전송하면 되지만 05는 항상 전송해야 한다는 차이점이 존재한다. if문 안의 로직은 chall04()와 동일하다. 여기서는 else문이 추가되어 전송되지 안흥면 0으로 변경된다. 함수를 보면 한 번이라도 다르면 체크를 해제하고 있는 것을 알 수 있다. 실시간으로 [CHECK] 버튼을 클릭할 때마다 "frida" 문자열이 전달되어야 해결할 수 있다. uk.rossmarks.fridala.MainActivity 내부에 있는 chall05() 메소드를 재작성한다. this.chall05()를 사용하여 호출 시, 기준 chall05()가 가진 메소드의 행위를 수행할 수 있도록 해준다. 내부 로직은 기본 로직을 이용하고 인자 값..

Chall04() 메소드에서 전달된 인수를 수정하는 문제를 풀기 위해 해당 함수의 위치를 Navigation -> Text search에서 메소드를 차는다. 해당 메소드는 인자 값으로 string을 받고 실제로 if문에서 "frida" 문자열과 str 인자 값이 같으면 활성화해주고 있다. chall04() 메소드를 호출하면서 인자 값으로 frida 값을 동일하게 넣어주면 해당 문제가 해결되는 것 같다. 자바스크립트 코드를 작성하기 전 chall04() 메소드를 호출할 때 Java.use를 사용해야 할지 Java.choose를 사용해야 할지 판단해야 한다. 해당 함수는 static이 없기 때문에 Java.choose를 사용해야 한다. 자바스크립트 코드를 실행하면 Sovled Challenge 04라는 문자..

jadx 프로그램을 이용해 chall02() 메소드를 찾기 위해 [Navigation] - [Text search]를 클릭하여 문자를 검색하는 기능을 사용했다. uk.rossmarks.fridalab.MainActivity.chall02() 클래스 내부에 존재하는 메소드라는 것을 알 수 있다. completeArr[1]=1;에서 배열이 선언되어 있는 것을 알 수 있다. 추가할 메소드를 확인 후 statict 선언이 되어 있지 않아 static method가 아닌 instance method를 사용한다. instance method를 호출하기 위해서 반드시 인스턴스화 된 객체를 찾아서 사용해야 한다. 이 객체를 사용하려면 Java.use가 아닌 Java.choose라는 api 함수를 사용해야 한다. Jav..