前言
护网杯的这次比赛还是很有收获的,至少在web方面我认为是这样的,还是得继续努力吧。。。
正文
MISC
迟来的签到
AAoHAR1UIFBSJFFQU1AjUVEjVidWUVJVJVZUIyUnI18jVFNXVRs=
题目说要异或,那就直接爆破异或就好
写个小脚本就可以得到flag
import base64
a = "AAoHAR1UIFBSJFFQU1AjUVEjVidWUVJVJVZUIyUnI18jVFNXVRs="
a = base64.b64decode(a)
for i in range(128):
s = ''
for j in a:
s = s+chr(i^ord(j))
if 'flag' in s:
print s
Crypto
fez
这个题目是我队友做的。。。。赛后才学习的,看来密码学以后还得认真上课。。。。
Fez.log给出三条数据,第一条为test,第二条为test与k加密后的数据,第三条为flag与k加密后的数据
fez.py为加密算法,通过分析算法
即a,b每一位进行异或运算
Round函数将M左右部分互换,并对右部分进行异或运算得 R^L^k[i]
Fez函数即将k数组每个元素与m进行round
运算
可得m为字符串分为m[0:27]
,m[27:54]
两部分通过一步一步推算
m: L + R
R + a a: L^R^k0
a + b b: L^k0^k1
b + c c: R^k0^k1
c + d d: L^k0^k2^k3
d + e e: L^k0^k1^k3^k4
e + f f: R