![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ciscn
文章平均质量分 85
永远在深夜里就好了
这个作者很懒,什么都没留下…
展开
-
【CTF】【PWN】【胎教向】ciscn_2019_n_3
拖进IDA反编译。 程序有三个功能:创建NOTE,删除NOTE,print NOTE 创建NOTE的时候会先malloc一个固定大小为0xC的chunk。 然后再malloc一个大小自己设置的chunk。 不难发现,第一个申请的chunk起到控制作用,用来存放每一个NOTE都会有的功能。 两个chunk之间的关系应该如下图。我们把第一个chunk命名为control,第二个chunk命名为content。control control块有三个部分,print和free,还有ptr。ptr指向conte原创 2021-10-28 23:29:55 · 196 阅读 · 1 评论 -
[堆漏洞][Fastbin attck][0ctf][pwn]看不懂可以顺着网线来打我,极其详细的babyheap_0ctf_2017
一道典型的菜单题,攻击方式是堆溢出。 进入main函数查看发现结构如下图: 分析allocate函数 可以发现这里能通过调用calloc函数,分配一块最大为4096的chunk(通过calloc分配的chunk会被清空内容) 分析fill函数 fill函数可以对一块内存进行任意大小的填充,为堆溢出提供了条件。 我们的攻击链大概是这样的: 首先创建5个chunk,idx分别为0,1,2,3,4,大小均为0x10。 然后free掉chunk1,于是chunk1被加入到fastbin里。再free掉chunk原创 2021-09-30 00:52:16 · 305 阅读 · 5 评论 -
[栈迁移][BUUCTF][PWN] ciscn_2019_es_2
前置知识: 栈迁移概念:当存在栈溢出且可溢出长度不足以容纳 payload 时,可采用栈迁移。一般这种情况下,溢出仅能覆盖 ebp 、 eip 。因为原来的栈空间不足,所以要构建一个新的栈空间放下 payload ,因此称为栈迁移。 栈迁移原理:栈执行命令是从esp指向的位置想ebp指向的位置执行。正常情况退栈的操作是:esp指向ebp指向位置,ebp指向ebp里的内容所指向的位置。当遇见leave|ret命令的时候,相当于执行mov esp ebp; pop ebp; ret;作用就是将ebp指向的位置给原创 2021-09-25 20:57:37 · 404 阅读 · 2 评论