ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AlexCTF Reverse Engineering
    CTF&Wargame/ETC 2017.02.06 02:58

    https://ctf.oddcoder.com/


    주말에 CTF가 두개씩이나 있어서 이거 문제를 풀다가 다른 CTF로 넘어갔다.




    리버싱 50

    리버싱 50점은 그냥 보면 보였고




    리버싱 100

    리버싱100점은 C++로 제작되었는데

    이 부분이 배열값에서 정해진 리스트대로 값을 뽑는부분인데


    어셈코드는 이렇다


    위에 aL3t_me~~~~이 문자 배열에서 밑에 저 리스트 0x36 0x65등등 이런값으로 값을 불러온다


    근데 잘 안되가지고 일일이 하나씩 찾았다.


    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
    = "L3t_ME_T3ll_Y0u_S0m3th1ng_1mp0rtant_A_{FL4G}_W0nt_b3_3X4ctly_th4t_345y_t0_c4ptur3_H0wev3r_1T_w1ll_b3_C00l_1F_Y0u_g0t_1t"
    result = ""
     
    result += a[0x24]
    result += a[0x00]
    result += a[0x05]
    result += a[0x36]
    result += a[0x65]
    result += a[0x07]
    result += a[0x27]
    result += a[0x26]
    result += a[0x2d]
    result += a[0x01]
    result += a[0x03]
    result += a[0x00]
    result += a[0x0D]
    result += a[0x56]
    result += a[0x01]
    result += a[0x03]
    result += a[0x65]
    result += a[0x03]
    result += a[0x2d]
    result += a[0x16]
    result += a[0x02]
    result += a[0x15]
    result += a[0x03]
    result += a[0x65]
    result += a[0x00]
    result += a[0x29]
    result += a[0x44]
    result += a[0x44]
    result += a[0x01]
    result += a[0x44]
    result += a[0x2B]
    print result
    cs


    ALEXCTF{W3_L0v3_C_W1th_CL45535}




    리버싱 250

    이문제는 파이썬 pyc 파일이 주어진다.

    디컴파일을 하면 아주 간단한 소스가 나오는데

    내가 입력한 문자를 5자리씩 끊어서 md5로 인코딩하고 16진수로 바꿔서 md5s와 비교한다.

    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
    import md5
    md5s = [174282896860968005525213562254350376167,
     137092044126081477479435678296496849608,
     126300127609096051658061491018211963916,
     314989972419727999226545215739316729360,
     256525866025901597224592941642385934114,
     115141138810151571209618282728408211053,
     8705973470942652577929336993839061582,
     256697681645515528548061291580728800189,
     39818552652170274340851144295913091599,
     65313561977812018046200997898904313350,
     230909080238053318105407334248228870753,
     196125799557195268866757688147870815374,
     74874145132345503095307276614727915885]
     
     
     
    for x in range(len(md5s)):
        print str(hex(md5s[x])).replace("0x""").replace("L","")
     
    print len("68cb5a1cf54c078bf0e7e89584c1a4e")
    result = ""
    result += "ALEXC"
    result += "TF{dv"
    result += "5d4s2"
    result += "vj8nk"
    result += "43s8d"
    result += "8l6m1"
    result += "n5l67"
    result += "ds9v4"
    result += "1n52n"
    result += "v37j4"
    result += "81h3d"
    result += "28n4b"
    result += "6v3k}"
    print result
    cs

    ALEXCTF{dv5d4s2vj8nk43s8d8l6m1n5l67ds9v41n52nv37j481h3d28n4b6v3k}




    코딩 100

    다음은 코딩 100점이다

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    from socket import *
    from time import sleep
     
    = socket(AF_INET, SOCK_STREAM)
    s.connect(("195.154.53.62"1337))
     
    data = s.recv(1024)
     
    for x in range(501):
        data2 = data.split(":")[1].strip()
        print data2
        data3 = eval(data2.replace("=""").strip())
        data3 = str(data3)
        print data3
        s.send(data3+"\n")
        data = s.recv(1024)
        print data.split(":")[0].strip()
     
    cs

    처음에 100번 했는데 안나와서 1000번했더니 500번만에 플래그를 알려주었다.

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

    BSidesSF Reversing  (0) 2017.02.14
    codegate 2017 angrybird  (2) 2017.02.11
    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

    댓글 0

Designed by Tistory.