stack smashing--canary报错利用

一般这种都是考察点比较狭窄,因为这个漏洞在libc2.23以上就被修复了,漏洞产生的原因是因为当覆盖掉canary的时候程序会报错,程序会执行 __stack_chk_fail 函

数来打印 __libc_argv[0] 指针所指向的字符串,如果把这个字符串覆盖成flag地址那么就可以得到flag

那么我们看一下保护,这种canary保护都是开启的

32位ida载入

一次read一次printf就是格式化字符串漏洞了,而且程序给了后门函数,那么我们可以修改_stack_chk_fail的got表或者修改

__do_global_dtors_aux_fini_array_entry地址为后门函数地址来读取flag

找一下偏移就可以开始写脚本了

exp

stack smashing--canary报错利用的更多相关文章

  1. 【原创】大叔经验分享(31)CM金丝雀Canary报错

    CM金丝雀Canary报错 1 HDFS 金丝雀Canary 测试无法为 /tmp/.cloudera_health_monitoring_canary_files 创建父目录. 2 Hive Met ...

  2. CM金丝雀Canary报错

    参考: https://www.cnblogs.com/barneywill/p/10400788.html CM金丝雀Canary报错 1 HDFS 金丝雀Canary 测试无法为 /tmp/.cl ...

  3. 新下载了一个框架,然后npm install时候报错npm ERR! Maximum call stack size exceeded

    今天遇到这个npm ERR! Maximum call stack size exceeded报错 解决方案如下: 1.更新npm版本 //查看版本 npm -v //更新 npm install - ...

  4. C语言 在VS环境下一个很有意思的报错:stack around the variable was corrupted

    今天做一个很简单的oj来温习下c 语言 题目如下 输入 3位正整数 输出 逆置后的正整数 代码如下: #include"stdio.h"int main(){ float h,su ...

  5. 利用Maven管理工程项目本地启动报错及解决方案

    目前利用Maven工具来构建自己的项目已比较常见.今天主要不是介绍Maven工具,而是当你本地启动这样的服务时,如果遇到报错,该如何解决?下面只是参考的解决方案,具体的解法还是得看log的信息. 1. ...

  6. 面试题——设计一个程序:运行报错Stack Overflow Error

    所谓Stack Overflow就是栈里面放的东西太多了,溢出了. 大家知道栈里面存放的是基本数据类型还有引用类型. 下面看这个程序 class Test { public static void m ...

  7. 利用Eclipse中的Maven构建Web项目报错(一)

    利用Eclipse中的Maven构建Web项目 1.在进行上述操作时,pom.xml一直报错 <project xmlns="http://maven.apache.org/POM/4 ...

  8. sqli注入--利用information_schema配合双查询报错注入

    目录 sqli-labs 5.6双查询报错注入通关 0x01 获取目标库名 0x02 获取库中表的数量 0x03 获取库中表名 0x04 获取目标表中的列数 0x05 获取目标表的列名 0x06 从列 ...

  9. npm install报错Unhandled rejection RangeError: Maximum call stack size exceededill install

    故障 在使用npm install下载依赖的时候报错Unhandled rejection RangeError: Maximum call stack size exceededill instal ...

  10. 浏览器JS报错Uncaught RangeError Maximum call stack size exceeded

    JavaScript错误:Uncaught RangeError: Maximum call stack size exceeded 堆栈溢出 原因:有小类到大类的递归查询导致溢出 解决方法思想: A ...

随机推荐

  1. consul 的 HTTP API 和使用方法

    目录 搭建起 consul Consul 的 HTTP API Service API 简单地注册服务 健康检查的配置和查询 建议读者先学习笔者的另一篇文章 学习搭建 Consul 服务发现与服务网格 ...

  2. [java] Tomcat 启动失败 Error: error while reading constant pool for .class: unexpected tag at #

    表现 公司服务器今天启动tomcat失败, 看catalina.out文件里面报错 java.lang.ClassFormatError: Unknown constant tag 101 in cl ...

  3. 解密prompt系列26. 人类思考vs模型思考:抽象和发散思维

    在Chain of Thought出来后,出现过许多的优化方案例如Tree of thought, Graph of Thought, Algorithm of Thought等等,不过这些优化的出发 ...

  4. vetur 和 volar 不要一起装 - vscode插件 已解决

    vetur 和 volar 不要一起装 - vscode插件 会有各种稀奇古怪的问题. 解决方案 利用 vscode 工作区 新建工作区 然后全局 将 volar 禁用工作区,起一个新的vue3项目, ...

  5. vue 打包 可以加 --watch 持续打包 - 开发本地应用程序 - 套壳模式开发

    vue 打包 可以加 --watch 持续打包 - 开发本地应用程序 - 套壳模式开发 "watch": "vue-cli-service build --watch - ...

  6. 27_H.264解码实战

    目录 使用FFmpeg命令进行H.264解码 使用FFmpeg代码进行H.264解码 1.获取解码器 3.创建解析器上下文 4.创建AVPacket 5.创建AVFrame 6.打开解码器 7.打开文 ...

  7. [TM4]TM4C123G使用笔记

    [TM4]TM4C123G使用笔记 TI的板子真让人头大甚至重装了两遍KEIL5 如何用keil5新建工程可以参考如下博客: https://blog.csdn.net/D_XingGuang/art ...

  8. 记录--vue刷新当前页面

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 背景 项目当中如果做新增/修改/删除等等操作通常情况下都需要刷新数据或者刷新当前页面. 思路 (1)如果页面简单,调用接口刷新数据即可. ...

  9. Web Audio API 第2章 完美的播放时机控制

    Web Audio API 第2章 完美的播放时机控制 相较于 标签, Web Audio API 拥有低延迟精确定时模型. 低延时对于游戏或交互式应用来说非常重要,因为交互操作时要快速响应给用户的听 ...

  10. 开发必会系列:J2EE是什么

    为什么Java是跨平台的? 高级语言通过编译器,转为汇编语言,汇编语言通过汇编器转为0和1. 当c转为汇编时,不同厂家cpu,用不同的指令集,所以有不同的汇编语言结果,导致c不能跨平台. java在各 ...