【问题标题】:Javascript vulnerability client-sideJavascript漏洞客户端
【发布时间】:2015-10-12 02:28:50
【问题描述】:

我关心的是下一个问题。

我有一个网页(无 ssl,http://example.com),我在其中实现了一个 JavaScript 例程,该例程为 https 网页(https://secure.example.edu)创建了一个 IFrame。此时一切正常,但如果我想从 Chrome 控制台中更改 iframe 位置(即使有相同的来源(X-FRAME-OPTIONS)策略),也可以使用 302 永久移动。所以我的问题是,用户是否有可能连接到http://example.com 而他不知道 iframe 位置发生了变化?没有在example.com 或secure.example.edu 上执行此操作的任何代码。

L.E.例如,假设在secure.otherdomain.com 上我有一个提交信用卡的表格。我如何向用户保证他将他的信息提交到该域而不是其他域。

【问题讨论】:

  • 抱歉,这很不清楚。会有很多不开心的吊扇。你能具体解释一下你的问题是什么吗?
  • 我知道我的问题有点不清楚,但作为一个例子。想象一下,我在那个 iframe 上放了我的信用卡。那有多安全?我如何才能真正确定我没有将我的信用卡信息提交给 secure.otherdomain.com 以外的网站?
  • 也许您不应该将此类信息放在 iFrame 中。顺便说一句,如果 iframe 位置发生变化,它将来自客户端。你对此无能为力。
  • @r4phG 如我所见,我的问题被否决了(也许没有其他人会回应)。不清楚的问题可能是我的错。不是问题,更像是一个问题,因为我看到诸如 Braintree 或 taxamo 之类的页面使用该选项通过 iframe 将付款信息获取到他们的网页。

标签: javascript html security iframe


【解决方案1】:

我如何向用户保证他将他的信息提交到该域而不是其他域。

您不应该向用户保证任何此类事情,因为他们可能不会。地址栏显示为 example.com,并且没有指示用户可以实际验证的表单来自何处。它可能是来自 example.com 的页面元素、指向其他域的 iframe 或动态更改为指向攻击者服务器的 iframe。

我看到诸如 Braintree 或 taxamo 之类的页面使用该选项通过 iframe 将付款信息获取到他们的网页

要求用户在地址栏中未显示 https 的页面中输入信用卡信息显然是不安全的,并且明显违反了对商家的 PCI-DSS 合规性要求。

通常,商家有自己的网站证书,消费者应该信任商家,而不是信任第三方支付处理服务。商家不应该在非 https 页面上包含持卡人数据表单(通过 iframe 或任何其他方式),所以如果您发现了一些他们需要踢的。

【讨论】:

  • 好的,商家有义务将支付信息表放在 ssl 安全页面上。但是,也许这是一个愚蠢的声明,如果该服务器也是 ssl 安全的,我仍然可以将 iframe 的 src 更改为攻击者服务器。
【解决方案2】:

我认为这永远不会 100% 确定。

但是,您可以这样做:使用普通浏览器窗口而不是 iframe。用户可以查看地址栏中的地址和相关证书。通过使用 iframe,这些基本信息对于简单用户来说是隐藏的。

【讨论】:

  • 此外,大多数支付平台都允许在支付完成后重定向到您的网站(无论是失败还是通过)。我认为您应该为您的需求提供一个合适的页面
猜你喜欢
  • 1970-01-01
  • 2013-10-07
  • 1970-01-01
  • 1970-01-01
  • 2014-05-03
  • 2012-02-05
  • 1970-01-01
  • 2022-10-04
  • 1970-01-01
相关资源
最近更新 更多