思考,在此发生

记录技术点滴,分享生活感悟。在这里,我们一起探索代码背后的逻辑与美学。

Cover

通过指针键控数据结构导致的指针泄露

引言2024年的某个时候,在一次Project Zero团队讨论中,我们谈到了远程ASLR泄露对于利用某些类型的内存破坏漏洞会有帮助或必要,特别是在苹果设备的背景下。从"哪里是寻找远程ASLR泄露的好起点"这个角度出发,这导致我们发现了一个技巧,可能被用来远程泄露指针,无需任何内...
阅读全文
Cover

从Chrome渲染器代码执行到内核利用MSG_OOB

引言六月初,我在审查一个新的Linux内核功能时,了解到了面向流的UNIX域套接字支持的MSG_OOB功能。我审查了MSG_OOB的实现,并发现了一个影响Linux >=6.9的安全漏洞(CVE-2025-38236)。我向Linux报告了这个漏洞,并且它得到了修复。有趣的是,虽然Chrome...
阅读全文
Cover

策略与披露:2025年版

作者:Tim Willis,Google Project Zero2021年,我们将漏洞披露政策更新为现行的"90+30"模式。我们的目标是推动更快速且彻底的补丁开发,并提升补丁的采用率。虽然我们已看到进展,但一个重大挑战依然存在:修复程序实际到达终端用户设备所需的时间。 这种延...
阅读全文
Cover

Windows注册表探险 #7:攻击面分析

作者:Mateusz Jurczyk,Google Project Zero 在本系列的前三篇博客文章中,我试图概述Windows注册表究竟是什么、它的作用、历史以及在哪里可以找到更多相关信息。在随后的三篇文章中,我的目标是详细描述这个机制在内部是如何工作的——从其客户端(例如,在Windows上运...
阅读全文
Cover

打破声音屏障第一部分:使用Mach消息对CoreAudio进行模糊测试

特邀作者:Dillon Franke,高级安全工程师,20% 时间用于 Project Zero 每秒,高权限的 macOS 系统守护进程都会接收并处理数百条 IPC 消息。在某些情况下,这些消息处理器会接受来自沙盒化或非特权进程的数据。 在这篇博文中,我将探讨如何将 Mach IPC 消息用作攻击...
阅读全文
Cover

Windows注册表探险 #6:内核模式对象

作者:Mateusz Jurczyk,Google Project Zero 欢迎回到 Windows 注册表探险之旅!在本系列的上一篇文章中,我们深入探讨了 regf 配置单元格式的内部原理。理解注册表的这一基础方面至关重要,因为它揭示了该机制背后的设计原则及其固有的优缺点。存储在 regf 文件...
阅读全文
Cover

爆破Webp

NSO BLASTPASS iMessage exploit 分析 作者:Ian Beer,Google Project Zero 2023年9月7日,Apple 发布了iOS的带外安全更新: 大约在同一时间,2023年9月7日,Citizen Lab发布了一篇博客文章,将iOS 16.6.1中修...
阅读全文
Cover

Windows Bug Class:使用 IDispatch 访问受陷阱保护的 COM 对象

作者:James Forshaw,Google Project Zero 面向对象的远程处理技术,如DCOM和.NET Remoting,使得开发能够跨越进程和安全边界的面向对象服务接口变得非常容易。这是因为它们被设计为支持广泛的对象,不仅包括服务中实现的对象,还包括任何其他兼容远程处理的对象。例如...
阅读全文
Cover

Windows Exploitation Tricks: Trapping Virtual Memory Access (2025 Update)

作者:James Forshaw,Google Project Zero 早在2021年,我写过一篇博客文章,介绍了在Windows上构建虚拟内存访问陷阱原语的多种方法。其目标是使虚拟内存地址的读取者或写入者暂停相当长(例如1秒或更长时间)的时间,通常是为了利用内核中的TOCTOU内存访问漏洞。 那...
阅读全文
Cover

Windows注册表探险 #5:regf文件格式

作者:Mateusz Jurczyk,Google Project Zero 正如之前在本系列博客文章的第二部分("功能简史")中提到的,从 Windows NT 3.1 到现代 Windows 11 用于编码注册表配置单元的二进制格式称为 regf。在某种程度上,它非常特殊,因...
阅读全文