沙箱逃逸XSS
前段时间,在某程序中发现了一个有趣的功能,在前端实现了一个沙箱,可以执行一些js代码
翻找定位到 eval5 这个开源库,抽出其中的知识点,设计成题目分享一下
https://github.com/bplok20010/eval5
官网也有沙箱例子,屏蔽了window,document等对象
https://bplok20010.github.io/eval5/examples/sandbox.html
原站点代码过于奔放,XSS过于简单,以此设计了两个沙箱,real world风格,直接引用了最新版本
代码在 https://github.com/ttttmr/sandbox
ps: 可以简单diff出来我的改动
在线环境
简单修改版
https://sandbox.demo.xlab.app/sandbox2.html
增加CSP
https://sandbox.demo.xlab.app/sandbox3.html
writeup
先放在星球了,过段时间再放在博客上