首页
社区
课程
招聘
[原创]ciscn_2019_final_3题解
发表于: 2020-10-7 21:48 6904

[原创]ciscn_2019_final_3题解

2020-10-7 21:48
6904

题目地址:https://buuoj.cn/challenges#ciscn_2019_final_3

先放exp

首先申请几个 chunk,然后对其中一个 free 两次,因为有 tcache 机制,所以可以 free,且会放在同一个 tcache 链表中 0x555555768e70

image.png

接下来申请回来 0x50,反手把 fd 指针改掉,改成 0x555555768e70-0x11e60=0x555555757010

image.png

一开始没太理解怎么回事,然后我发现在一开始 remove 之后 0x555555757070 这里就有指向第 0 个的指针了,难道这是链表头部?

image.png

一点一点看看,首先是全部申请之后:啥都没有

image.png

对第 0 个 remove 一次之后:出现了第 0 个的地址

image.png

对第 0 个第二次 remove 后:第 0 个的 fd 也指向第 0 个了,合情合理

image.png

然后去 malloc 一个,同时把 fd 指针改成 0x0000555555757010

因为 free 了两次,所以应该还指向第 0 个,但是第 0 个的 fd 指针已经改变了

image.png

然后再去申请一个的话 tcache 就指向更改的那个 0x0000555555757010 了


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 1
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//