V8-Exploit-Level9

zhaojunqi Lv2

V8 Exploit Level9

level9:

一.分析patch文件

给出V8 sandbox memory corruption API(包含Addressof原语,沙箱内部的任意地址读写原语)

二.利用思路

主要是借鉴这个方法,由于本题中的沙箱是升级后的沙箱,RWX段的指针无法修改,因此不能用之前的修改指向RWX段指针的方式来实现任意代码执行,因此需要用劫持控制流的方式来让pc指向shellcode即可。

三.exp

核心代码如下图所示

文章中的方法如下图所示:

根据文章中的方法,当将code域的值改为0x414141时,则rcx会被修改为0x7fb00414141(低位一样,高位由于有地址随机化所以每次运行结果不同)最终的rip会被修改为rcx + 0x3f,利用这一特性,将code域的值修改为shellcode-0x3f即可将实现劫持控制流,让rip指向execve("/challage/catflag"NULL,NULL)的机器码。其余的偏移量同样是基于level2中指出的调试方法得出,这里不做赘述。

结语

level9其实主要是利用了一种巧妙的方式劫持了控制流,使得让rip指向execve("/challage/catflag"NULL,NULL)的机器码的位置进而完成利用。
至此pwncollege中的9道chrome中v8引擎的漏洞利用题目已经全部分享完毕。


最后感谢rjk师兄一路的帮助和不厌其烦的解答!!!

  • Title: V8-Exploit-Level9
  • Author: zhaojunqi
  • Created at : 2024-12-11 23:14:21
  • Updated at : 2025-10-17 17:31:01
  • Link: https://redefine.ohevan.com/2024/12/11/V8-Exploit-Level9/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments