专栏名称: 看雪学苑
致力于移动与安全研究的开发者社区,看雪学院(kanxue.com)官方微信公众帐号。
今天看啥  ›  专栏  ›  看雪学苑

House of water & TFCCTF 2024 MCGUAVA

看雪学苑  · 公众号  · 互联网安全  · 2024-09-16 17:59

主要观点总结

文章详细介绍了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 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览