ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • insomnihack CTF bender_safe
    CTF&Wargame/ETC 2017.01.22 13:08

    mips 아키텍처인걸 알 수 있는데

    헥스레이가 안되니 직접  동적 디버깅을 통해 분석을 해야한다.


    프로그램을 실행하면 OTP라고 뜨면서 랜덤값을 준다

    이 값에 대한 문자열을 보내면 flag를 얻을 수 있다.


    vaildate함수를 보면 이 함수를 통과해야하는데

    이 함수를 분석해서 소스를 한번 짜봤다


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    # -*- coding:utf-8 -*-
    text = raw_input("text: ")
    arr = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
     
    result = ""
    result += text[0]
    result += text[-1]
    if ord(text[7]) <= 0x40:
        result += chr(ord(text[7])+0x40)
    else:
        result += chr(ord(text[7])+32)
     
    if ord(text[3]) < 0x41:
        num = ord(text[3])-0x16
        result += arr[num-0xA]
    else:
        num = ord(text[3])-ord("A")
        result += arr[num+0xA]
     
    if ord(text[4]) < 0x41:
        num = ord(text[4])-0x16
        result += arr[num-0xA]
    else:
        num = ord(text[4])-ord("A")
        result += arr[num+0xA]
     
    num = abs(ord(text[1])-ord(text[2]))
    result += arr[num]
     
    num = abs(ord(text[5])-ord(text[6]))
    result += arr[num]
     
    if ord(text[8]) > 0x41:
        num = ord(text[8]) ^ 0x4b ^ 0x61 ^ 0xA
        result += chr(num)
    else:
        pass
    print result
     
    cs

    마지막 8번째 자리를 구할 때 else 조건을 안입력해서

    한 5번 정도 소스를 돌리면 키값을 구할 수 있다


    if ord(text[3]) < 0x41:
        num = ord(text[3])-0x16
        result += arr[num-0xA]
    else:
        num = ord(text[3])-ord("A")
        result += arr[num+0xA]

    이부분에서 시간을 엄청 잡았는데 갑자기 너무 분기쪽만 잡고있던게 문제였다.



    'CTF&Wargame > ETC' 카테고리의 다른 글

    AlexCTF Reverse Engineering  (0) 2017.02.06
    BITSCTF Riskv and Reward  (0) 2017.02.05
    insomnihack CTF bender_safe  (0) 2017.01.22
    Plaid ctf prodmanager  (0) 2017.01.16
    codegate 2014 angry doraemon  (0) 2017.01.15
    Warm-Heap  (0) 2017.01.15

    댓글 0

Designed by Tistory.