-
[Clear] Syskron CTF Keygen WriteupCTF/Syskron Security CTF 2020 2020. 10. 27. 19:43
최근에는 자격증 공부중이어서 대회나 문제풀이를 잘 못하고있는 상태에서, 같이 대회도 나가고 공부하고있는 팀원에게 간단한 리버싱 문제 풀어보지 않겠냐고 연락이 와서 잠깐 봤던 문제..
자격증공부하기 지루해서 잠깐 시간을 내서 Writeup을 작성해본다.
문제를 보면 6C61736B612121 즉 !!aksal 을 거꾸로 한 값(laska!!)이 입력값으로 들어오면 octal이라는 함수로 안내를 하는 것을 알 수 있다.
실제로 해당 값을 입력을 해보면,
다음과 같은 string을 출력해준다.(사실 정적으로 푸는게 습관되버려서 실행시키기 전에 구하긴 했었다..)
저 문자열이 무슨 뜻인지 고민하다가..
함수 이름이 octal이므로 8진수와 관련있다는 생각이 들었고, 8진수에는 9가 사용되지 않으므로, 9를 기준으로 나눈 후 16진수로 전환하여 아스키코드값으로 FLAG를 추출해보았다.
str = "1639171916391539162915791569103912491069173967911091119123955915191639156967955916396391439125916296395591439609104911191169719175" arr= str.split("9") print(arr) flag = [] flag2 = '' for i in range(len(arr)) : arr[i] = '0o'+arr[i] flag.append(int(arr[i],8)) flag2+=chr(int(arr[i],8)) print(flag) print(flag2)
급하게 짜서 깔끔하진 않지만.. 위 문제가 풀이 코드이고 실행결과 플래그를 획득 할 수 있다.
FLAG = syskronCTF{7HIS-isn7-s3cUr3-c0DIN9}
반응형