首页 > 编程语言 >一种新的姿势:程序try/catch抛出异常之绕过canary pwn121

一种新的姿势:程序try/catch抛出异常之绕过canary pwn121

时间:2024-04-13 15:12:33浏览次数:23  
标签:姿势 pwn121 函数 canary try catch 绕过 异常

一种新的姿势:程序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实现栈迁移

标签:姿势,pwn121,函数,canary,try,catch,绕过,异常
From: https://www.cnblogs.com/CH13hh/p/18132811

相关文章

  • 30 天精通 RxJS (16):Observable Operators - catch, retry, retryWhen, repeat
    我们已经快把所有基本的转换(Transformation)、过滤(Filter)和合并(Combination)的operators讲完了。今天要讲错误处理(ErrorHandling)的operators,错误处理是异步行为中的一大难题,尤其有多个交错的异步行为时,更容易凸显错误处理的困难。就让我们一起来看看在RxJS中能如何处理......
  • npm,registry,镜像源,npm切换源,yarn,cnpm,taobao,nrs
    描述我们在使用node的npm下载依赖的时候,往往下载速度很慢,那是因为npm默认的是npm处于国外的官方镜像源。所以需要切换到国内的镜像源来加速依赖下载。所以本文推荐一款简单好用npm镜像源管理器,可以方便开发者管理自己的镜像源。推荐:npm-registry-nrs......
  • guava-retrying
    https://github.com/rholder/guava-retrying ##Whatisthis?Theguava-retryingmoduleprovidesageneralpurposemethodforretryingarbitraryJavacodewithspecificstop,retry,andexceptionhandlingcapabilitiesthatareenhancedbyGuava'spredi......
  • 进阶 stack smashing--canary 报错利用 && environ泄露栈地址
    进阶stacksmashing--canary报错利用&&environ泄露栈地址这部分是对进阶stacksmashing的使用,以及对environ的认识,我们可以看一个buu上具体的题目题目连接https://buuoj.cn/challenges#wdb2018_guess看一下保护,pie没有开64位ida载入看一下那么在ida里面看见还是挺麻......
  • stack smashing--canary报错利用
    stacksmashing--canary报错利用一般这种都是考察点比较狭窄,因为这个漏洞在libc2.23以上就被修复了,漏洞产生的原因是因为当覆盖掉canary的时候程序会报错,程序会执行__stack_chk_fail函数来打印__libc_argv[0]指针所指向的字符串,如果把这个字符串覆盖成flag地址那么就可以得......
  • Python中的错误处理 - 使用try、except、else和finally进行解释,并附带代码示例
    最近,我的经理委派我创建一个自动报告。我设计的报告非常简单。它包括一些来自数据库的数字和一些基本的数学运算。我很兴奋最终可以向公司展示我的惊人的Python技能。我完成并交付了产品。一切都很顺利。至少,直到大约两周后。我的报告由于除以零错误而随机失败了。来了个笑声轨道......
  • Spring-Retry
     https://github.com/spring-projects/spring-retryThisprojectprovidesdeclarativeretrysupportforSpringapplications.ItisusedinSpringBatch,SpringIntegration,andothers.Imperativeretryisalsosupportedforexplicitusage.QuickStartThi......
  • 【报错】Error: https://registry.npmmirror.com.tgz: tunneling socket could not be
    报错信息:Error:https://registry.npmmirror.com/bytes/download/bytes-3.0.0.tgz:tunnelingsocketcouldnotbeestablished,cause=connectECONNREFUSED127.0.0.1:31181详细报错:Error:https://registry.npmmirror.com/bytes/download/bytes-3.0.0.tgz:tunnelingsoc......
  • try-with-resource的使用
    try-with-resources支持从Java7开始的所有后续版本。只有实现了AutoCloseable或Closeable接口的资源才能用于try-with-resources。可以在括号内声明多个资源,用分号分隔。如果try块中抛出了异常,并且close()方法也抛出了异常,那么抛出的异常将是try块中的异常......
  • 【大模型应用开发-FastAPI框架】(五)FastAPI 如何通过Poetry运行FastAPI应用程序
    一、概述FastAPI是一个现代、快速(高性能)的Web框架,用于构建API。Poetry是一个Python的依赖管理和打包工具,可以帮助我们更有效地管理项目的依赖和环境。在本文中,我们将介绍如何使用Poetry来运行FastAPI应用程序。二、安装FastAPI和Poetry在开始之前,我们需要先安装FastAPI和P......