本文讲述了作者如何利用Zscaler VPN客户端中17年前版本的SpiderMonkey漏洞进行攻击。该漏洞源于大型switch语句导致的跳转错误,使攻击者能够执行任意字节码。作者通过操纵堆栈指针和利用POP/POP2指令,实现了内存破坏。接着,利用double类型的特性构建了addrof原语,泄露了二进制文件和libc的基址。最后,通过覆盖JS对象的函数指针并写入shell命令,成功获取了shell权限。