西湖论剑2019-msc之奇怪的TTL
msc1给了一串很长的TTL字符,参考一些隐写的文章,猜测是在ttl中藏了信息,题目是这样的
我们截获了一些IP数据报,发现报文头中的TTL值特别可疑,怀疑是通信方嵌入了数据到TTL,我们将这些TTL值提取了出来,你能看出什么端倪吗?
文本打开,TTL有29万行
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
分析一波之后发现一共有四种TTL值
63 00111111
127 01111111
191 10111111
255 11111111
可以看出后面六位全是1,只有前面两位藏了数据,也就是说一组TTL值可以隐藏一个字节
因此考虑写脚本跑。
下面是参考的一位大佬写的脚本,本人就不献丑了
大佬写的writeup地址:https://www.jianshu.com/p/13025b096f23
f = open('ttl.txt','r') TTL = f.readlines() p = [] for i in TTL: p.append(int(i[4:])) s = '' for i in p: if i == 63: a = '00' elif i == 127: a = '01' elif i == 191: a = '10' elif i == 255: a = '11' s += a print(type(s)) print(s) import binascii flag = '' for i in range(0,len(s),8): flag += chr(int(s[i:i+8],2)) flag = binascii.unhexlify(flag) wp = open('res1.jpg','wb') wp.write(flag) wp.close()
跑出来一张图片,jpg格式是首先计算前32位二进制位判断出来的
用foremost分离出六张二维码片段
后面用PS把图片重新拼接,然后二维码识别
得到一串加密密钥和密文,拿去找解密网站挨个尝试,最后试出来是维吉尼亚密码
但是flag并不对,看大佬们的writeup说是最后两位需要爆破。。。
一个杂项题这么多弯弯绕绕。。。

更多精彩