知识点:TTL隐写,zip伪加密,base64多次解码
解压附件打开,
可以发现都是63,255,127,这样的数,就是TTL隐写,
[SWPU 2019]Network-TTL加密和涉及的一些知识_[swpu2019]network-优快云博客
这位大佬讲的巨细,大家可以看看
代码如下: 代码运行时间可能比较长,得等会
import binascii
f = open('./attachment.txt', "r")
str = ''
Binary = ''
number = ''
while 1:
num = f.readline()
if not num:
break
if num.rstrip() == '63': # 去掉每行后面的空格
Binary = '00'
elif num.rstrip() == '127':
Binary = '01'
elif num.rstrip() == '191':
Binary = '10'
elif num.rstrip() == '255':
Binary = '11'
str += Binary
for i in range(0, len(str), 8):
number += chr(int(str[i:i + 8], 2))
data = binascii.unhexlify(number)
f2=open('1.txt','wb')
f2.write(data)
f2.close()
用010打开看看是zip的文件头,把后缀改成zip,但是解压不了,我用ziperello爆破的时候显示无加密文件,所以是伪加密,010打开搜索504b0102,把这一位改成00即可,一共三处
解压出来是一个txt文件,是base64多次解码
base64多次解码,代码如下:
f = open('./base64.txt').read()
import base64
while 1:
try:
f = base64.b32decode(f)
print(f.decode()[:100])
except:
try:
f = base64.b64decode(f)
print(f.decode()[:100])
except:
print(f[:100])
break
最终flag
flag{189ff9e5b743ae95f940a6ccc6dbd9ab}