我向 somemail@gmail.com 发送了一封包含一些 javascript 的邮件,html 部分正在运行,我可以看到该按钮。但是,当我单击按钮并尝试调用内部函数时,我无法这样做。
我的原始邮件在这里
\n\n\ngmail 如何阻止我的 js 脚本?
\n
由于 HTML 电子邮件包含 HTML,HTML 是文本,可以通过编程方式编辑文本,并且电子邮件会发送到 Google 控制的服务器。
\n\n\n\n\n在我的原始邮件(附在下面)中,服务没有剥离 js 脚本
\n
这包括所有电子邮件标题。您似乎已要求 GMail 向您提供电子邮件的原始来源。它会这样做,但会对所有 HTML 进行编码,以便将其呈现为文本。
\n\n如果您希望在 HTML 呈现为 HTML 时查看传递到浏览器的 HTML,则需要使用浏览器的 DOM 检查器功能(开发人员工具)。
\n\n\n\n\n它为什么这么做?
\n
浏览器对 JavaScript 执行大量沙箱操作,并对允许执行的操作设置非常严格的限制。其中许多限制都是基于JavaScript 运行的页面的来源。发送到 Gmail 的电子邮件将转换为网页并从(或另一个 Google 域)发送到浏览器gmail.com。如果页面中留下任何 JavaScript,那么它将从该源 \xe2\x80\x94 运行,浏览器会认为该脚本受到 GMail \xe2\x80\x94 的信任,这将是一个可怕的安全漏洞。
一个简单的漏洞示例是 JavaScript 获取innerHTML页面的内容(其中包括大量帐户信息),使用<form>DOM 生成 DOM,然后将所有数据提交到攻击者的服务器。
更复杂的攻击将使用 XHR 遍历整个电子邮件帐户并复制其中每条消息的详细信息。
\n\n或者它可能会使用该帐户发送电子邮件。
\n\n或者许多其他的事情。
\n