level 20
-
[System] Level 20 [233pt]$ Wargame $/$ Suninatas $ 2019. 9. 17. 14:38
문제를 열어보겠습니다. 해당 파일은 ELF 파일입니다. 그래서 일단 Ghidra를 이용해서 한번 디컴파일 해보겠습니다. main 코드를 확인해 보면 일단 if문을 확인해 보겠습니다. main의 if문을 보면 param_2가 ./suninatas 이여야 합니다. 이는 파일명이 suninatas 이어야 합니다. 그리고 아래의 루프에서도 중요한 역할을 합니다. 12크기 만큼 입력을 받고 base64decode함수가 있는 것으로 보아 입력을 할때 base64encode로 넣어야 할것 같습니다. decode한 데이터의 길이가 12이하여야 auth함수에 들어갈 수 있습니다. auth 함수를 확인해 보겠습니다. 파라미터로 디코드된 입력값이 들어갔습니다. calc_md5함수를 통해서 나온 hash 값이 strcmp를 ..