这道题没给附件,直接就是nc
这个题目的意思是,我们随机输入一个数,然后发给我们一段base64加密后的密文,真正num就在里面,我们现在写个pwntools脚本提取一下这段base64密文,解密一下,看看是什么东西
exp:
io=remote("node4.anna.nssctf.cn",28045)
io.sendline(str(2))
io.recvuntil(b"My brain:\n")
data=io.recvuntil(b"\nTell",drop=True)#表示不包含\nTell这个字符串
de_data=base64.b64decode(data)
with open("data",'wb') as f:
f.write(de_data)
这里生成的data文件,我们vim看看
开头是elf,判断是elf可执行文件,我们chmod 777 data修改一下文件权限,然后运行看看
发现下面给了num,用这个再发回去就可以获得flag(上面限制了5秒钟发回去)
exp:
from pwn import *
import base64
import os
io=remote("node4.anna.nssctf.cn",28045)
io.sendline(str(2))
io.recvuntil(b"My brain:\n")
data=io.recvuntil(b"\nTell",drop=True)#表示不包含\nTell这个字符串
de_data=base64.b64decode(data)
with open("data",'wb') as f:
f.write(de_data)
os.system("chmod 777 data")
p=process("./data")
p.recvuntil(b"THE NUMBER IS ")
num=p.recvuntil(b'\nCan',drop=True)
io.sendline(num)
io.interactive()