Season 1/워게임 FridaLab Write Up - Challenge 07. check07Pin()의 chall07 변수 검증을 무차별 대입 공격을 통해 통과하라. 작성자 - LRTK 코드 분석 MainActivity challenge_07 MainActivity에서 challenge_07.setChall07()을 호출하여 chall07에 랜덤한 값을 삽입 후 challenge_07.check07Pin()에서 검증을 수행한다. challenge_07.setChall07() 반복문을 돌리기 위해 chall07 변수에 삽입될 값의 범위를 한번 알아보겠다. Math.random() * 9000이므로, 0 ~ 8999까지의 범위를 가진다. 하지만 뒤에 1000이 더해져서 최소 범위는 1000부터 시작이 된다. 즉, chall07의 값 범위는 1000 ~ 8999이다. 문제의 목표는 무차별 대입 공격을 수행하여 검증을 통과하라고 하였으니, MainActivity.chall07()의 파라미터에 반복문을 이용하여 값을 넣어서 검증을 통과하면 될 것이다. Write Up Java.perform(() => { console.log("\n* Hooking Start *") var challenge07 = () => { var challenge_07 = Java.use("uk.rossmarks.fridalab.challenge_07") Java.choose("uk.rossmarks.fridalab.MainActivity", { "onMatch": (instense) => { var pin = 1000 while (true) { if (String(pin) == challenge_07.chall07.value) { instense.chall07(String(pin)) break } pin++ } }, "onComplete": () => console.log("challenge_07 solved!") }) } // Hooking Function Call challenge07() }) 반복문으로 challenge_07.chall07의 값와 증가되는 값을 비교 후 맞다면, MainActivity.chall07()에 파라미터로 넘겨 검증을 통과하였다. 사실 challenge_07.chall07 값을 MainActivity.chall07()에 파라미터로 넘기면 바로 통과하겠지만, 그럼 Challenge 06과 같은 문제 풀이가 되어 이렇게 무차별 대입 공격을 시도하여 통과하라고 하는 것으로 보인다. 공유하기 게시글 관리 MSS 저작자표시 비영리 (새창열림) 'Season 1 > 워게임' 카테고리의 다른 글 [Starting Point] TIER 0 - Meow (0) 2023.02.27 FridaLab Write Up - Challenge 08. 'Check' 버튼의 텍스트를 'Confirm'으로 변경하라. (0) 2022.12.15 FridaLab Write Up - challenge 06. 적절한 값을 사용하여 10초 후 chall06()를 동작시켜라. (0) 2022.12.15 FridaLab Write Up - Challenge 05. 항상 chall05()에 "frida"를 전송하라. (0) 2022.12.15 FridaLab Write Up - Challenge 04. chall04()에 "Frida"를 전달하라. (0) 2022.12.15 Contents 당신이 좋아할만한 콘텐츠 [Starting Point] TIER 0 - Meow 2023.02.27 FridaLab Write Up - Challenge 08. 'Check' 버튼의 텍스트를 'Confirm'으로 변경하라. 2022.12.15 FridaLab Write Up - challenge 06. 적절한 값을 사용하여 10초 후 chall06()를 동작시켜라. 2022.12.15 FridaLab Write Up - Challenge 05. 항상 chall05()에 "frida"를 전송하라. 2022.12.15 댓글 0 + 이전 댓글 더보기