我们联合,形成两面包夹芝士!
比赛结束后开放
阅读此文
比赛结束后开放
阅读此文

0x00 配置环境

VMware Ubuntu22.04
VMware Ubuntu20.04
WSL2 Ubuntu22.04均按照步骤配置环境没有问题

windows环境没有测试

阅读此文

原力觉醒

只是想教会你如何连接导线

原力觉醒

阅读此文

什么是magic_gadget

magic gadget其实是一类gadget的统称,指可以巧妙地实现某些目的的gadget。这里要讲的gadget只是众多magic gadget中的其中一个,可以在没法泄露libc地址的时候达到能够使用libc地址的目的。

这里要讲的gadget位于程序的__do_global_dtors_aux函数中,偏移是0x18。

阅读此文

pstack

分析

非常经典的没有回显的0x10字节溢出,栈迁移。第一件事就要先考虑怎么泄露出libc地址。我们选择将栈劫持到bss段。从汇编代码可知vuln函数栈帧开辟了0x30大小,所以把rbp劫持为某个选定的bss段+0x30,这样rbp就会跳到bss+0x30。

阅读此文

前置知识

  1. PIE的概念

  2. 有关__libc_start_main的文章

不过其实就算没看懂这篇文章问题也不大,只要是题目做多了的话都能知道一点就是,正常gcc编译出来的elf程序都会经历一个_start__libc_start_main的过程。

阅读此文

自己的理解与尝试

编写demo看执行结果

参考资料然后根据资料里的demo自己改了一下看看实际try…catch是怎么运行的

阅读此文

0x00 前言

之前傻乎乎的在网上找资料学习的时候学得一头雾水,最近才忽然想到为什么不去roderick师傅的博客直接看本人的分析呢。然后发现roderick师傅写的是最详细最易懂的,推荐正在学习apple2的师傅直接去看。

我这里据两道题来分析,记录一下学习的过程。

阅读此文

相关数据结构

_IO_FILE_plus

_IO_FILE_plus定义如下:

阅读此文
⬆︎TOP