安全开发

C++ 虚函数表剖析

一、概述为了实现C++的多态,C++使用了一种动态绑定的技术。这个技术的核心是虚函数表(下文简称虚表)。本文介绍虚函数表是如何实现动态绑定的。二、类的虚表每个包含了虚函数的类都包含一个虚表。我们知道,...
阅读全文
安全文章

V8 沙箱绕过

0x00 背景 这是 DiceCTF2022 的一道题 memory hole。 题目给了我们修改任意 array 的 length 的能力,按过往的经验,接下来很简单,就是构造任意地址读写原语,构造...
阅读全文

two指针

概念双指针,顾名思义,就是利用两个指针去遍历数组,一般来说,遍历数组采用的是单指针(index)去遍历,两个指针一般是在有序数组中使用,一个放首,一个放尾,同时向中间遍历,直到两个指针相交,完成遍历,...
阅读全文

Use After Free

原理简单的说,Use After Free 就是其字面所表达的意思,当一个内存块被释放之后再次被使用。但是其实这里有以下几种情况 内存块被释放后,其对应的指针被设置为 NULL , 然后再次使用,自然...
阅读全文
逆向工程

强网杯 ezCloud题解

在比赛中代表星盟安全团队参赛的北极星队拿到了这道pwn题的一血EzCloudnotepad功能中存在一个数组溢出,可以将第17个位置的指针覆盖掉即可以覆盖LoginMsg指针,进而通过控制好堆布局,能...
阅读全文