主要观点总结
文章详细介绍了House of Water攻击方法,这是一种将Use-After-Free(UAF)漏洞转化为t-cache元数据控制原语的技术,同时可以获取t-cache元数据中的libc指针。文章首先介绍了该技术的起源和前提条件,然后详细解释了其攻击流程,包括伪造堆块、释放堆块、修改指针等步骤,并给出了一个攻击演示。此外,文章还分析了TFCCTF 2024的题目,探讨了利用House of Water在tcache链表上留下libc地址的可能性,并给出了攻击脚本。
关键观点总结
关键观点1: House of Water攻击方法
一种将UAF漏洞转化为t-cache元数据控制原语的技术,并获取t-cache元数据中的libc指针。
关键观点2: 攻击流程
包括伪造堆块、释放堆块、修改指针等步骤。
关键观点3: TFCCTF 2024题目分析
探讨了利用House of Water在tcache链表上留下libc地址的可能性,并给出了攻击脚本。
文章预览
一 House of water 早就听 Csome 学长说过有种打法叫 house of water,但是当时没去看,时间久了就忘记这个东西了,现在记起来了就来学习一下。由于笔者的水平有限,文章不免会出现许多错误,希望各位师傅能过包容以及指正。这篇文章的程序的测试环境为 ubuntu 22.04.3 TLS。 概述 这个打法由国际战队 blue water 提出的,下面来看看该团队对这个打法的描述: House of Water is a technique for converting a Use-After-Free (UAF) vulnerability into a t-cache metadata control primitive, with the added benefit of obtaining a free libc pointer in the t-cache metadata as well. NOTE: This requires 4 bits of bruteforce if the primitive is a write primitive, as the LSB will contain 4 bits of randomness. If you can increment integers, no brutefore is required. By setting the count of t-cache entries 0x3e0 and 0x3f0 to 1, a "fake" heap chunk header of size "0x10001" is created. This fake heap chun
………………………………