-
[ctf-d] fore1-hit-the-core2021/Write-Ups 2022. 2. 22. 23:43
4팀 박윤진
fore1.core 파일을 받을 수 있다.
core 파일은 프로그램이 특정 시점에 작업 중이던 메모리 상태를 기록한 것으로
보통 비정상적으로 종료됐을 때 만들어진다고 한다.
cvqAeqacLtqazEigwiXobxrCrtuiTzahfFreqc{bnjrKwgk83kgd43j85ePgb_e_rwqr7fvbmHjklo3tews_hmkogooyf0vbnk0ii87Drfgh_n kiwutfb0ghk9ro987k5tfb_hjiouo087ptfcv}
BASE64 인코딩같은 (유독) 긴 문자열을 발견할 수 있다.
그런데 아니었다...
AeqacLtqazEigwiXobxrCrtuiTzahfFreqc{bnjrKwgk83kgd43j85ePgb_e_rwqr7fvbmHjklo3tews_hmkogooyf0vbnk0ii87Drfgh_n kiwutfb0ghk9ro987k5tfb_hjiouo087ptfcv}
보니까 대문자가 ALEXCTF를 완성하는 것을 확인할 수 있었고
이를 토대로 소문자를 없애보면..
ALEXCTF{K834385P__7H3_0087D_ 099875_087}
가 나오는데 영 플래그같이 생기진 않았다. 그나마 7H3가 THE로 확실히 leet를 활용했다는 단서를 알 수 있다.
또 다른 규칙성을 찾아보자면, AeqacLtqazEigwiXobxrCrtuiTzahfFreqc 가 4글자 간격으로 반복된다는 것이다
이를 토대로
노가다하거나파이썬 코드를 작성하여 4번째 글자만 출력하도록 해보면...string = 'bnjrKwgk83kgd43j85ePgb_e_rwqr7fvbmHjklo3tews_hmkogooyf0vbnk0ii87Drfgh_n kiwutfb0ghk9ro987k5tfb_hjiouo087ptfcv' count=0 while True : print(string[count], end='') count+=5 if count >= len(string) : break
K33P_7H3_g00D_w0rk_up 이 나온다.
ALEXCTF{K33P_7H3_g00D_w0rk_up}
추가적으로 가장 처음인 K를 찾을 때 b부터 시작해서 4개를 건너뛰어야 하는지 / 4개를 건너뛰고 K를 선택해야 하는지
애매하긴 한데, 둘 다 해보고 더 플래그같은 문자열을 제출하면 되겠다.
해당 문제로 얻을 수 있는 관점:
① 가장 기본적으로 strings 사용해보기
② 플래그 형식이 인코딩 되어 있을 수 있다.
③ 플래그 형식 { } 은 생각보다 많이 쓰이지 않는다. 주목해볼 것 - {.*} 로 검색
④ 인코딩 외 간단한 퍼즐 형식으로도 플래그를 얻을 수 있다. (가장 기본: 규칙성 찾기)
'2021 > Write-Ups' 카테고리의 다른 글
[ctf-d] DefCoN#21 #1 (0) 2022.02.22 [DigitalForensic_with CTF] basisSixtyFour (0) 2022.02.22 [CTF-d] sayonara-bye가 남긴 흥미… (0) 2022.02.22 [ctf-d] 사진 속에서 빨간색이... (0) 2022.02.22 [ctf-d] 거래 조건 알고 있잖아요? (0) 2022.02.22