Misc:奇怪的TTL字段
题目描述:我们截获了一些IP数据报,发现报文头中的TTL值特别可疑,怀疑是通信方嵌入了数据到TTL,我们将这些TTL值提取了出来,你能看出什么端倪吗?
题目下载
参考以前做的这道题:
shawroot.hatenablog.com
写了个不太专业的jio本。。:
import re #打开题目内容 txt = open("ttl.txt",'r') flag = open("flag",'w') #按行读取 line = txt.readlines() number = "" for i in line: #对数字进行判断和整理 num1 = "".join(re.findall("TTL=(.*)",i)) if(num1 == '63'): n = '00' if(num1 == '127'): n = '01' if(num1 == '191'): n = '10' if(num1 == '255'): n = '11' number += n #对得到的所有二进制数八位一组进行分割 step = 8 cut = [number[i:i+step] for i in range(0,len(number),step)] arry = [] for i in cut: arry.append(i) for i in arry: flag.write(chr(int(i,2)))
运行后发现得到了ffd8...ffd9..ffd8..ffd9形式的十六进制文本:
用foremost工具提取出来六张破碎的二维码。打开ps:菜单“文件/脚本/将文件载入堆栈”,然后对其进行拼接:
扫描后得到:
key:AutomaticKey cipher:fftu{2028mb39927wn1f96o6e12z03j58002p}
本来以为是维吉尼亚密码。。维吉尼亚密码解出来是flag{2028ab39927df1d96e6a12b03j58002v}提交发现不对。
这里get到了一个自动密钥密码(Autokey Cipher) 。
自动密钥密码是密码学中的一种加密算法,与维吉尼亚密码类似,区别在于密钥不同。它的密钥开头是一个关键词,之后则是明文的重复
Autokey在线解密:AutoKey Cipher - WishingStar