网鼎杯-青龙(第一场)WriteUp -advanced

运行下载的./src 得到
flag:4b404c4b5648725b445845734c735949405c414d5949725c45495a51

看起来像hex ,进行解码测试

In [10]: enc = libnum.n2s(0x4b404c4b5648725b445845734c735949405c414d5949725c45495a51)

In [11]: enc
Out[11]: 'K@LKVHr[DXEsLsYI@\\AMYIr\\EIZQ'

一般的flag 是这样的格式
flag{
所以,那f和K进行异或进行测试

In [12]: ord('K') ^ ord('f')
Out[12]: 45

In [13]: ord('@') ^ ord('l')
Out[13]: 44

In [14]: ord('L') ^ ord('a')
Out[14]: 45

In [15]: ord('K') ^ ord('g')
Out[15]: 44


发现规律,依次和45 44异或。写脚本

In [20]: s = ''
    ...: for i in range(len(enc)):
    ...:     if i % 2 == 0:
    ...:         s+= chr(ord(enc[i]) ^ 45)
    ...:     else:
    ...:         s+= chr(ord(enc[i]) ^ 44)
    ...:         
    ...: 
    ...:  

In [21]: s
Out[21]: 'flag{d_with_a_template_phew}'


出了结果。

你可能感兴趣的:(网鼎杯-青龙(第一场)WriteUp -advanced)