V8 沙箱绕过

Jayl1n / 2022-02-22

这是 DiceCTF2022 的一道题 memory hole。

题目给了我们修改任意 array 的 length 的能力,按过往的经验,接下来很简单,就是构造任意地址读写原语,构造 WASM 实例,读 RWX 空间地址,写 shellcode ,调 WASM 函数,OK。

但题目开启了 V8 沙箱,一个新的安全机制,直接阻止了我们构造任意地址读写原语,能访问的范围是 array 基址后连续的 4G 地址空间。

绕过这个沙箱是本题的重点,看了两篇wp有所收获,所以整理了下绕过手法,未来可能会用到。

题目地址

Jayl1n

"><svg/onload=alert(/I_m_Jayl1n@Syclover/)>

twitter weibo github wechat

随机分类

iOS安全 文章:36 篇
后门 文章:39 篇
安全管理 文章:7 篇
无线安全 文章:27 篇
Java安全 文章:34 篇

最新评论

Yukong

🐮皮

H

HHHeey

好的,谢谢师傅的解答

Article_kelp

a类中的变量secret_class_var = "secret"是在merge

H

HHHeey

secret_var = 1 def test(): pass

H

hgsmonkey

tql!!!