杂项

[SWPU2019]Network(TTL隐写)

Posted on 2020-01-19,2 min read

就给了一个TXT。里面就四种类型的数字。
63/127/191/255


将其各自转换为二进制

00111111
01111111
10111111
11111111

只有前两位是变化的。这就是TTL隐写。
写个脚本。取出前两位。重新组合。再以8位一组。转换为16进制字符。再将16进制字符转换为字符

import binascii
f=open('1.txt','r')
s=''
for i in f.readlines():
    if i == "63\r\n":
        a='00'
    if i == "127\r\n":
        a='01'
    if i == "191\r\n":
        a='10'
    if i == "255\r\n":
        a='11'
    s+=a
data=''
for i in range(0,len(s),8):
    data+=chr(int(s[i:i+8],2))
data=binascii.unhexlify(data)
print(data)

得到一个压缩包,ZIP伪加密。修改得到一大串Base64

import base64
f=open('flag.txt','r')
data=f.readlines()[0]
while True:
    data=base64.b64decode(data)
    if '{' in data:
        print data
        exit(0)

拿到flag

下一篇: Mysql任意文件读取漏洞→