반응형

z3 2

[247CTF] THE SECRET LOCK - 리버싱 / Python

247CTF 에서 제공하는 MODERATE 난이도의 리버싱 문제 문제에서 주어지는 것은 The Secret Lock.html 파일이다. 문제에서 주어진 HTML 파일을 실행시켜 보면 이런 화면이 나온다.. 번호 40개짜리 자물쇠인데 각 번호는 0부터 500까지 구성되어 있다. 자전거 자물쇠처럼 돌려서 맞춰야 하는건데 일단 확률부터 말도 안되고, 실제로 돌려볼려해도 너무 느려서 이번생 안에는 도저히 못한다. F12를 눌러 개발자도구를 열어 Javascript 코드를 보니 플래그를 검증하는 듯한 부분이 보였다. 해당 부분을 깔끔하게 보이게 정리해보니 이런 형태였다... 무려 120줄이다. 이 어마어마한 연립방정식을 풀어야 플래그를 찾을 수 있는데 마치 수능을 다시보는 기분이었다. from z3 import ..

워게임/247CTF 2023.11.21

[DiceCTF] babymix - 리버싱 / IDA / Python

쉬운것 같으면서도 쉽지 않은 리버싱 문제 python z3 를 알고있다면 금방 풀수있다. babymix 라는 이름의 바이너리 파일이 하나 주어진다. 한번 실행시켜봤다. admin 비밀번호를 입력하라고 요구하고, 비밀번호가 틀리면 Incorrect 메세지가 출력되면서 종료된다. 바로 IDA 를 이용해 디컴파일 해보았다. main 함수를 보면 사용자의 입력값을 s에 담아 check815546 함수로 집어넣는다. 그 검증결과가 참일경우 Correct 라는 메세지가 출력된다. check815546 함수를 살펴봤다. 사용자가 입력한 값의 각 자리를 계산해서 특정한 조건을 만족시키는지 검증한다. 그런데 한번 검증하고 끝나는게 아니라 여기서 또 check921708 함수를 호출한다. check921708 함수도 마찬..

CTF/리버싱 2023.03.05
반응형