gpt4 book ai didi

javascript - 使用不受信任的字符串调用 require() 会出现安全问题 (require.js)

转载 作者:行者123 更新时间:2023-11-28 10:53:38 31 4
gpt4 key购买 nike

我的浏览器应用程序使用 require.js。该应用程序在屏幕上显示许多不同的小部件之一。 URL 片段包含小部件的路径(require.js 路径),然后调用 require 来动态加载它:

var moduleName = getUrlFragement('widget'); // accesses window.location
require(moduleName);

moduleName 是一个不受信任字符串。用户可以随心所欲地制作。

这有什么安全问题?

以下是我迄今为止的发现:

  • 攻击者无法加载来自不同域的任意 URL
  • 攻击者无法加载来自同一域的任意 URL
  • 攻击者可以强制加载我的应用程序定义的任何模块,这将运行该模块具有的任何初始化逻辑。 这是不允许的

有什么我错过的吗?

最佳答案

没有。您已经完整、准确地捕捉到了安全问题。

关于javascript - 使用不受信任的字符串调用 require() 会出现安全问题 (require.js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28556309/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com