ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Clear] Syskron CTF Keygen Writeup
    CTF/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}

    반응형

    댓글

Designed by Tistory.