通过程序try/catch抛出异常之绕过canary pwn121
一种新的姿势:程序try/catch抛出异常之绕过canary
我前面发了不少关于绕过canary的姿势,先总结一下,现在绕过canary的姿势有泄露,爆破,格式化字符串绕过,多线程劫持TLS绕过,
stack_smashing,数组越界等等,今天介绍一种新的姿势,就是程序处理异常时,如果异常被上一个函数的catch捕获,那么上个函数的rbp就会变成上这个函数的rbp,详细可以看看处理异常的过程。
https://blog.csdn.net/qq_31865983/article/details/97387879
这里就加以利用
首先还是查看保护
nx保护关闭我们64位ida载入看一下
里面有格式化字符串漏洞,栈溢出,和堆溢出,但是仔细看的话都不能很好的利用
这里我发现一个漏洞仔细看这个函数有一个整数溢出
之后我们就可以利用栈迁移把我们想要执行的数据放入rbp指的地址,这样就可以泄露出libc地址然后进行one_gadget
然后上一个函数的leave_ret 和这一个函数的leave_ret实现栈迁移
热门相关:我的阁楼通异界 江太太恃宠而骄 万界点名册 我的女友不可能是怪物 极品医圣