javascript - WebAssembly 中的浏览器安全问题
问题描述
假设我有一个从 加载的网页example.com
,其中包含一些 Javascript 和两个来自同一来源的 WebAssemblies。我正在尝试了解安全边界,但找不到将它们放在一起的参考。所以:
- 任何一个 WebAssembly 模块都可以直接在 上执行 HTTP 操作
example.com
吗?(我想是的) - Javascript 可以访问任何 WebAssembly 中未明确导出的任何“内部”(数据或代码)吗?(我想不是)
- WebAssembly 1 可以访问 WebAssembly 2 的任何未明确导出的“内部”(数据或代码)吗?(我想不是)
- WebAssembly 可以访问任何 Javascript(数据或代码)吗?(我认为:不,除非它是回调或先明确注册)
我真正想要达到的目的:
- 如果 WebAssembly 1 包含“秘密令牌 1”,而 WebAssembly 2 包含“秘密令牌 2”,是否有办法让他们中的任何一个访问对方的令牌?
解决方案
如果 WebAssembly 1 包含“秘密令牌 1”,而 WebAssembly 2 包含“秘密令牌 2”,是否有办法让他们中的任何一个访问对方的令牌?
由于它们在同一来源中运行,因此可能是的。但是您应该能够通过沙盒 iframe 或类似的方式使用不同的来源来防止这种情况。
推荐阅读
- atlassian-sourcetree - 从 gitignore 提交更改
- javascript - 确定在反应中选中的复选框的方法(useState)
- sas - SAS EG 编辑器宏对选择中的每一行执行操作
- c# - 使用用户控件自定义事件时,WPF 无法从文本创建事件处理程序
- c++ - 如何禁用在工厂方法之外创建/复制 obj?
- build - 使用 3rd 方库构建 .net-core 应用程序
- python - Python:将日期时间提取到年、月和日的结果为浮点数
- python - 在 DataFrame 中删除具有非日期时间输入的数据
- regex - 将 test-Path -Path 与正则表达式相结合
- c# - 我可以从 javascript 调用视图组件上的方法吗?