BUUCTF--[WUSTCTF2020]level3

测试文件:https://wwa.lanzous.com/iTgoYdiv6pi

 

代码分析

根据下面else提示,很有可能就是flag经过变表加密,得到d2G0ZjLwHjS7DmOzZAY0X2lzX3CoZV9zdNOydO9vZl9yZXZlcnGlfD==

找到base64表,找到引用的函数,发现变表操作

 

脚本

import base64

table = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='
model = list("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=")
s = "d2G0ZjLwHjS7DmOzZAY0X2lzX3CoZV9zdNOydO9vZl9yZXZlcnGlfD=="

for i in range(10):
    model[i], model[19-i] = model[19-i], model[i]
model = ''.join(model)
table = str.maketrans(model, table)
print (base64.b64decode(s.translate(table)))

 

get flag!

flag{Base64_is_the_start_of_reverse}

posted @ 2020-06-10 15:03  Hk_Mayfly  阅读(847)  评论(0)    收藏  举报