Attack - Easyhaskell(200 pts)
문제를 확인해보면 Haskell로 짜여진 바이너리인 것 같다. 문제 설명의 플래그를 확인해보면 뭔가 암호화 된 것 같다. 이를 분석하기 위해 IDA로 열어보았으나, 함수가 너무 많고 알아볼 수 없어 실행을 시켜보았더니 플래그 포맷과 비슷한 문자열이 나타났다. 실행 시 argv에 값을 넣어봐도 변하지 않는 것과, stdin 등으로 입력을 받는 부분이 없는 것으로 보아 파일명을 이용하여 암호화를 할 것이라고 생각했다.
파일명을 바꿔서 실행시켜보니 예상했던대로 다른 문자열이 나타났다. 플래그 포맷이 SCTF{...}이기 때문에 SCTF{로 파일명을 바꿔 보냈더니 플래그와 일치하는 부분이 나타났다. 이를 이용하여 브루트포싱 스크립트를 작성하여 플래그를 얻어냈다.
#coding: utf-8 |
payload.py
FLAG : SCTF{D0_U_KNoW_fUnc10N4L_L4n9U4g3?}
'CTF > Samsung CTF 2017' 카테고리의 다른 글
[SCTF 2017] Attack - Letter to me(300 pts) (0) | 2017.07.24 |
---|---|
[SCTF 2017] Coding - Buildingblocks(250 pts) (0) | 2017.07.24 |
[SCTF 2017] Defense - Dfa(100 pts) (0) | 2017.07.24 |
[SCTF 2017] Attack - Readflag(100 pts) (1) | 2017.07.24 |