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

这篇具有很好参考价值的文章主要介绍了一种新的姿势:程序try/catch抛出异常之绕过canary pwn121。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

我前面发了不少关于绕过canary的姿势,先总结一下,现在绕过canary的姿势有泄露,爆破,格式化字符串绕过,多线程劫持TLS绕过,
stack_smashing,数组越界,今天介绍一种新的姿势,就是程序处理异常时,如果异常被上一个函数的catch捕获,那么上个函数的rbp就会变成上这个函数的rbp,详细可以看看处理异常的过程。
https://blog.csdn.net/qq_31865983/article/details/97387879
这里就加以利用

首先还是查看保护

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

nx保护关闭我们64位ida载入看一下

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

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

里面有格式化字符串漏洞,栈溢出,和堆溢出,但是仔细看的话都不能很好的利用

这里我发现一个漏洞仔细看这个函数有一个整数溢出

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

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

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

之后我们就可以利用栈迁移把我们想要执行的数据放入rbp指的地址,这样就可以泄露出libc地址然后进行one_gadget

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

然后上一个函数的leave_ret 和这一个函数的leave_ret实现栈迁移

一种新的姿势:程序try/catch抛出异常之绕过canary pwn121文章来源地址https://www.toymoban.com/news/detail-850095.html

到了这里,关于一种新的姿势:程序try/catch抛出异常之绕过canary pwn121的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一种新的告警收敛方式“先知预警”,为您的系统健康护航

    买基金,上京东 基金交易系统是用户使用京东金融APP进行基金交易的核心支撑系统,每天有数十亿元的交易额。 在大额的交易面前,系统的稳定性尤其重要,同时基金业务比较复杂,为保障每个地方的稳定,告警埋点很多,加上各种日终检查,看似很完美,实际却有了新的

    2024年02月14日
    浏览(41)
  • MAMBA介绍:一种新的可能超过Transformer的AI架构

    有人说,“理解了人类的语言,就理解了世界”。一直以来,人工智能领域的学者和工程师们都试图让机器学习人类的语言和说话方式,但进展始终不大。因为人类的语言太复杂,太多样,而组成它背后的机制,往往又充满着不可名状的规律。 过去人们在自然语言处理中多采

    2024年02月04日
    浏览(45)
  • clDice-一种新的分割标准-能够促进管状结构分割的连接性

    clDice-a Novel Topology-Preserving Loss Function for Tubular StructureSegmentation论文总结 论文:clDice-A Novel Topology-Preserving Loss Function for Tubular Structure 源码:GitHub - jocpae/clDice 目录 一、论文背景和出发点 二、创新点 三、clDice指标 四、clDice的拓扑保证 五、使用clDice训练神经网络 六、Cost函数

    2024年02月09日
    浏览(49)
  • 基于图卷积神经网络的人工智能:一种新的图像识别技术

    近年来,随着深度学习技术的快速发展,图像识别领域也取得了显著的进步。传统的图像识别方法

    2024年02月07日
    浏览(57)
  • kotlin协程异常处理之-try catch

    kotlin协程小记 协程的async使用 kotlin协程异常处理之-try catch kotlin协程异常处理之-CoroutineExceptionHandler try catch是否一定有效呢?未必,来看一下: withContext是一个挂起函数,它会暂停当前协程的执行,等待传递进来的协程上下文切换后继续执行。当在withContext内部发生异常时,

    2024年02月12日
    浏览(34)
  • Elastic Stack 8.11:引入一种新的强大查询语言 ES|QL

    作者:Tyler Perkins, Ninoslav Miskovic, Gilad Gal, Teresa Soler, Shani Sagiv, Jason Burns Elastic® Stack 8.11 引入了数据流生命周期、一种配置数据流保留和降采样(downsampling) 的简单方法(技术预览版),以及有关 Kibana® Inspector 中跨集群搜索响应的详细信息以及重新路由摄取处理器(reroute i

    2024年02月03日
    浏览(52)
  • 抛弃丑陋的try-catch,优雅处理异常

    随着业务逻辑变得越来越复杂,我们在编写代码时会遇到各种异常情况,这时就需要使用try-catch语句来捕获异常并进行处理。但是,大量的try-catch语句会让代码变得臃肿,不易维护,因此,我们需要一种优雅的方式来统一处理异常,减少代码中的try-catch语句。 比较下面两张图

    2023年04月20日
    浏览(43)
  • java中的异常,以及出现异常后的处理【try,catch,finally】

    异常 :指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。 注意: 在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。Java处理异常的方式是中断处理。 异常机制其实是帮助我们找到程序中的问题

    2024年02月08日
    浏览(40)
  • try catch捕获异常并打印报错行号等信息

    在我们系统中,如果某一行代码报错了,我们打印日志的时候却不知道具体报错行号,报错信息等等。 如何才能打印报错行号呢? 我们拿到Exception对象后,首先要拿到错误的堆栈信息,可以通过下面方法拿到: 拿到堆栈信息后,那么我们就可以获取具体的报错信息了. 通过

    2024年02月12日
    浏览(92)
  • JavaScript的try-catch-finally异常处理机制--详解

    JavaScript 提供了异常处理机制,通过 try-catch-finally 语句块来捕获和处理异常。以下是对该机制的详细解释和示例: 1. try 块: try 块用于包裹可能会产生异常的代码块。在 try 块内,您可以放置任何可能引发异常的代码。 2. catch 块: catch 块用于捕获和处理 try 块中抛出的异常。

    2024年02月11日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包