1. 程式人生 > >南京郵電大學CTF-密碼學-mixed_base64

南京郵電大學CTF-密碼學-mixed_base64

題目如下:


1.先把code.txt儲存為一個檔案

2.加密過程:

    十次加密,每一次在base16,32,64中隨機選擇一種加密

3.解密過程:

    用python直接嘗試爆破

解密程式碼:

#*****題目:多重base64加密
#*****python破解程式碼

import base64

def decode_mix_base64(b):
    a = b
   # print a
    i = 0
    while True:
        i = i+1
        print i
        #base16
        try:           
           c = base64.b16decode(a)
           a = c
           print('using base16 decode sucess.....')
           continue
        except:
            print ('using base16 decode failuer.....')
            pass      
        #base32
        try:
           c = base64.b32decode(a)
           a = c
           print('using base32 decode sucess.....')
           continue
        except:
            print ('using base32 decode failuer.....')
            pass
         #base64
        try:  
           c = base64.b64decode(a)
           a = c
           print('using base64 decode sucess.....')
           continue
        except:
             print ('using base64 decode failuer.....')
             pass     
        break
    print a
            
def main():
    a = open('ctf_code_base64.txt')
    try:
        b = a.read()
    finally:
        a.close()
    #while True:
    try:
            #b = base64.b64decode(b)
        decode_mix_base64(b)
    except:
        print ('Finish!*********')
        #break
    
    
if __name__ == '__main__':
    main()

執行程式破解flag


ok,完成,拿到flag