CTF Re Mo writeup

CISCN Re 第一题writeup

2018-05-10  本文已影响9人  SueLyon

比赛时没看出来,就去做其他的了~ 参考其他队伍的wp自己整理了一下

ida main

看下逻辑,首先判断前缀是CISCN{,长度32
后面以两个_为界把输入分成两部分


后面是三个函数,进第一个
里面发现这个 1

不清楚,看下一个

2

原来是自己和自己异或,

cal.png

这就很清楚了,是md5初始化向量

看后面


h1.png

函数可逆,也不复杂

cipher1 = "10233622J984933H678N95F769010595"
get1=[]
for i in xrange(len(cipher1)):
    if ord(cipher1[i])<=0x39:
        get1.append(cipher1[i])
    else:
        get1.append(chr(ord(cipher1[i])-i%10))
cipher2 =''.join(get1)
print cipher2
#jimy

得到32位md5,可查

第二个函数类似,只是多了个xor
直接拿上面结果

a=0xC9CA0A6BF5534F142F29B64542099CF1 ^ 0x10233622B984933C678E95D769010595
print hex(a)
#ct6y

md5同样可查

第三个函数也类似,但是md5不可查
后面发现在写文件,dump出来

11111.png

先拿106c去异或发现文件头像jpg 改为116d异或
成功获得jpg

jpg

组合获得flag

re.png
上一篇 下一篇

猜你喜欢

热点阅读