-
-
[原创]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
接下来申请回来 0x50,反手把 fd 指针改掉,改成 0x555555768e70-0x11e60=0x555555757010
一开始没太理解怎么回事,然后我发现在一开始 remove 之后 0x555555757070
这里就有指向第 0 个的指针了,难道这是链表头部?
一点一点看看,首先是全部申请之后:啥都没有
对第 0 个 remove 一次之后:出现了第 0 个的地址
对第 0 个第二次 remove 后:第 0 个的 fd 也指向第 0 个了,合情合理
然后去 malloc 一个,同时把 fd 指针改成 0x0000555555757010
因为 free 了两次,所以应该还指向第 0 个,但是第 0 个的 fd 指针已经改变了
然后再去申请一个的话 tcache 就指向更改的那个 0x0000555555757010 了
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
赞赏
他的文章
- 对某款智能手表的分析与攻击 6545
- [原创][车联网安全]使用STM32开发板实战汽车UDS诊断 15017
- [分享]binwalk路径穿越导致RCE(CVE-2022-4510) 9984
- [原创]Hack-A-Sat 2020预选赛 beckley 13586
- [原创]一个BLE智能手环的分析 31560
看原图
赞赏
雪币:
留言: