2020-10-25 【翻译】Instagram远程代码执行漏洞 【翻译】Instagram远程代码执行漏洞 翻译:https://research.checkpoint.com/2020/instagram_rce-code-execution-vulnerability-in-instagram-app-for-android-and-ios/缺斤少两版三流翻译。背景Instagram是最受欢迎的社交媒体平台之一,每天有100+万张照片上传到上面。因此,我们决定审核适用于Android和iOS操作系统的Instagram的安全。我们发现了一个严重漏洞,可以在受害者的手机上远程代码执行。我们的操作方法是检查Ins用的第三方库。很多开发者,无论规模大小,都在会软件中用到开源的三方库。在Ins用到的库中,我们挖到了一个Mozjpeg的洞。攻击者通过电子邮件、WhatsApp之类的平台将图像发给受害者,当受害者用Ins打开图像时,就rce了。Tell me who your friends are and I'll tell you your vulnerabilities很多大公司的项目都会用到公共开源的库,但并不是所有的库都显示在程序的“About”页面中,确保看全所有的库的方法是看I... Harvey 2020-10-25 二进制安全,Gamma实验室 28 阅读 0 评论 2020年10月25日 28 阅读 0 评论
2020-10-20 初探Chrome沙箱逃逸 初探Chrome沙箱逃逸 1.BackgroundChrome Security Architecture众所周知沙箱是Chrome重要的安全机制,有沙箱就意味着v8、音视频解码等等渲染层的漏洞不能直接打到host上,所以我们想要pwn Chrome至少要两个漏洞,沙箱进程的rce和沙箱逃逸。Chrome安全架构如下MojoMojo是Chrome新的IPC机制,从Mojo文档中可以看到,Mojo is a collection of runtime libraries providing a platform-agnostic abstraction of common IPC primitives, a message IDL format, and a bindings library with code generation for multiple target languages to facilitate convenient message passing across arbitrary inter- and intra-process boundaries. 目前来看无论是CTF还是Re... Harvey 2020-10-20 二进制安全,Gamma实验室 25 阅读 0 评论 2020年10月20日 25 阅读 0 评论
2020-10-20 浅淡v8指针压缩 浅淡v8指针压缩 Pointer compression是v8 8.0中为提高64位机器内存利用率而引入的机制。什么是Pointer compression对于smi,在之前的64位系统中的表示是value << 32,现在变成value << 1(留一位做[pointer tagging]),这样smi从64位变为32位。“详情请参考:https://en.wikipedia.org/wiki/Tagged_pointer”对于v8中64位的对象指针,它们的高32位基本是不变的,花费4字节来储存它们会浪费内存空间;所以指针压缩将64位对象指针变为32位,也就是64位指针中的低32位,将64位指针的高32位保存在r13中;访问对象时,只需要将对象指针与根寄存器的基址相加即可得到完整地址。v8关于指针压缩的实现首先我们能想到的实现方式是从0地址开始分配4G内存,确保v8对象分配在这4G内存范围内;v8显然没有这样做,在chrome渲染进程中可能会有多个v8实例,这个方案会导致所有v8实例都来竞争这4G内存,而我们稍微开两个chrome内存就吃满了。“详情请参考:https:/... Harvey 2020-10-20 二进制安全,Gamma实验室 23 阅读 0 评论 2020年10月20日 23 阅读 0 评论