通过程序try/catch抛出异常之绕过canary pwn121
一种新的姿势:程序try/catch抛出异常之绕过canary我前面发了不少关于绕过canary的姿势,先总结一下,现在绕过canary的姿势有泄露,爆破,格式化字符串绕过,多线程挟制TLS绕过,
stack_smashing,数组越界等等,今天先容一种新的姿势,就是程序处置惩罚异常时,如果异常被上一个函数的catch捕捉,那么上个函数的rbp就会酿成上这个函数的rbp,具体可以看看处置惩罚异常的过程。
https://blog.csdn.net/qq_31865983/article/details/97387879
这里就加以利用
首先照旧查看保护
https://img2024.cnblogs.com/blog/3419447/202404/3419447-20240413142134139-26477958.png
nx保护关闭我们64位ida载入看一下
https://img2024.cnblogs.com/blog/3419447/202404/3419447-20240413142346283-191083507.png
https://img2024.cnblogs.com/blog/3419447/202404/3419447-20240413142423438-421929606.png
里面有格式化字符串漏洞,栈溢出,和堆溢出,但是仔细看的话都不能很好的利用
这里我发现一个漏洞仔细看这个函数有一个整数溢出
https://img2024.cnblogs.com/blog/3419447/202404/3419447-20240413142924747-236066412.png
https://img2024.cnblogs.com/blog/3419447/202404/3419447-20240413142709546-843913838.png
https://img2024.cnblogs.com/blog/3419447/202404/3419447-20240413143138350-1111661712.png
之后我们就可以利用栈迁移把我们想要实行的数据放入rbp指的地址,如许就可以泄露出libc地址然后进行one_gadget
https://img2024.cnblogs.com/blog/3419447/202404/3419447-20240413150250848-1358016877.png
然后上一个函数的leave_ret 和这一个函数的leave_ret实现栈迁移
https://img2024.cnblogs.com/blog/3419447/202404/3419447-20240413145948091-429121425.png
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]