问题标签 [browser-security]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1605 浏览

security - 使用 Greasemonkey 脚本安装其他用户脚本

是否可以创建一个可以管理其他用户脚本的 Greasemonkey 脚本?
在给定用户脚本 URL 列表的情况下,我想编写一个自动安装一组其他用户脚本的用户脚本。

0 投票
2 回答
297 浏览

javascript - 如果某些脚本删除了以前加载或包含的脚本,那么异步加载 web 应用程序会发生什么?

问题是:如果某些脚本删除了以前加载或包含的脚本,那么异步加载 webapps 会发生什么?

让我们包含几个脚本:

不管是通过标记包含还是通过requireJS动态包含,异步脚本包含的顺序都是一样的。

MySquel.js 文件的内容可能是这个恶意代码:

当然,这个问题是特定于浏览器的,我感兴趣的是,是否有任何怪癖会在任何特定浏览器中打开内存漏洞。我也对你知道的任何边缘情况感兴趣!

我非常感谢您在您所知道的关于可能不安全的脚本加载的任何边缘情况下的回应!谢谢。

0 投票
0 回答
41 浏览

javascript - 在浏览器中运行 3rd 方应用程序

我目前正在为一个大型应用程序设计前端。该计划是拥有一个管理子应用程序的主应用程序,用户可以从应用程序商店将更多应用程序添加到他们的仪表板,所有这些都在浏览器中的 JavaScript 中。问题是沙盒,基本上,我不想appX能够窃取appY的数据(通过 DOM 或其他方式)。我知道 Google Caja,尽管目前我倾向于在不同的域上运行 iframe(具有非常精美的 nginx 配置以允许应用程序共享 API)。这行得通吗?是否有任何替代方案(在浏览器上下文中运行 3rd 方应用程序)?

0 投票
0 回答
214 浏览

javascript - 跨域/多域身份验证的安全问题

我们有一个多域平台,它使用中央域进行身份验证和 api 操作。

API & 认证 + 账户管理

  • https://example.com

只读 + 小部件操作

  • http://example.com
  • http://example.net
  • http://example.org

我已经阅读了大多数(如果不是全部)有关此类设置的 StackOverflow 问题,但无法深入了解此问题。(关于此的大多数问答都涉及一般原则,很少涉及细节)。

我们正在使用(一个 javascript iframe 代理库)在和其他域名Porthole.js之间推送 API 调用。https://example.com一切都很完美。

我正试图围绕“登录状态”和持久化用户数据来自定义 javascript。

看看像 StackOverflow 这样的网站是如何建模的,我的第一个想法是:

  • 在 localStorage 中缓存登录状态 + 自定义数据(用户名、照片等)+ cookie 数据https://example.com10 分钟,或直到注销。10分钟后,缓存会命中服务器的API进行更新。
  • 在第一次访问网络站点时,查询远程 localStorage。如果他们已登录,则代理返回登录状态、自定义数据和 http(不是 https)cookie id。然后此数据在 10 分钟内被视为“新鲜”,或直到注销。
  • 来自的 cookiehttp://example.com被克隆到请求域,替换该会话。这允许我跨域使用单个 cookie / id。

我最担心的是最后一步——克隆 http cookie——尽管它只用于跟踪和“预览”访问。但是整个系统依赖于浏览器安全模型,我可能会遗漏一些东西。这似乎是一种优雅且“安全”的机制,就好像我使用了 AuthTicket 模型(用户访问https://example.com/auth-request?destination=http://example.net/auth-response,被重定向到http://example.net/auth-response?nonce=VERYBIGNUMBER)或在 iframe 中发出透明的 oAuth 请求。

任何人都可以阐明我错过的明显/明显的安全问题,或者这看起来和替代方案一样安全吗?

0 投票
1 回答
1303 浏览

javascript - HTML5 Canvas getImageData - 安全问题

我正在构建一个 Web 应用程序,它通过 FileReader API 读取图像,然后将其显示在 Canvas 上。之后,我在画布上调用 .getImageData 后,逐个像素地重新着色图像,如下所示:

colorImage()是我编写的一个函数,它在给定相应的 RGB 颜色代码的情况下更改像素值,它确实有效。当我在本地加载图像时,上面的代码片段确实有效,但当我尝试从在线服务器(如公共 Dropbox 帐户)访问图像时则无效。Firefox 告诉我这是一个安全问题;有没有办法绕过它?

0 投票
2 回答
1896 浏览

javascript - AngularJS - 调用 Flickr API 失败并显示警告消息

我有一个简单的 AngularJS 应用程序,它允许人们搜索 Flickr 照片。问题出在 IE 中,当我调用 Flickr API 时收到以下消息:

此页面正在访问不受其控制的信息。这会带来安全风险。你要继续吗?

如果我单击是,该应用程序将运行并加载相关照片。但是,在 Chrome 和 Firefox 中,我没有收到任何消息,也没有任何反应 - 没有加载照片。

这是代码:

如何摆脱该消息并使其在 Chrome/Firefox 中工作?

更新:我根据 joakimbl 的 plunker 将代码更改为以下代码,现在它在 Chrome 和 FF 中运行,但 IE 仍然抛出警告消息。

;

0 投票
1 回答
1611 浏览

javascript - 网站如何绕过浏览器的“阻止弹出/下”设置

访问某些网站时,您关闭浏览器会发现其后面有大量弹出窗口,通常用于在线赌场和“MacKeeper”。

这些如何绕过浏览器弹出设置?我认为他们可能会使用 javascript 在新窗口中打开页面以使其自动化并target="_blank"在新窗口中获取,但我认为target="_blank"通常会在新选项卡中打开网页,而不是隐藏在当前页面后面的新页面使用..任何想法?

0 投票
1 回答
408 浏览

javascript - 编写可能在浏览器中禁用开发人员工具的代码是否违法?

我知道您不能在不更改注册表的情况下禁用这些工具,但是阻止用户按 F12 或完全禁止他们访问开发人员工具是否违法?

我问这个是因为关于网络可访问性的讨论正在进行中,我试图找到证据证明你不应该这样做。请提前告知和感谢。

0 投票
2 回答
209 浏览

javascript - 如何识别 Chrome 是否显示安全图标

我的应用程序在浏览器安全方面存在一些问题。

最初,这不是问题,因为我所有的 javacript 代码都运行良好。但是自从我开始使用ckEditor 之后,它就成了一个问题,因为我的 ckEditor 只有在我启用不安全脚本(“加载不安全脚本”)时才能工作。它只发生在Chrome上。

我发现了这个有用的链接内容安全策略,我正在尝试解决它。

但是,我想知道是否有任何方法可以通过 javascript 检测应用程序是否被浏览器阻止。实际上我不是在谈论标签<noscript></noscript>,因为我的应用程序上的其余 javascript 代码仍然可以正常工作。这是关于这个特定 Chrome 的安全性。

当我按照内容安全策略的说明处理此问题时。也许我可以确定 Chrome 是否显示此安全图标并向用户提供一些说明。

是否可以?

安全块

0 投票
0 回答
6581 浏览

javascript - 在 IE 中,出现“不支持此类接口”的错误 - 行 - window.open

我在 Windows Server 2008 R2 版本上使用 IE 11。

我在 IE 11 上打开的 tableau URL 之一,然后有一个链接“导出数据”。

当单击“导出数据”时,它会给我 javascript 错误为no such interface supported.

调试错误时,它会windows.open(...)在 .js 文件中显示行脚本。

我没有创建画面页面,我无法控制那里。

这在所有其他机器上运行良好,在其他机器上的 IE 8、IE 11 中测试。

请建议,我如何解决这个错误,IE 中缺少什么配置来启用 -Window.open

谢谢