所以,这是问题所在。JavaScript完全“篡改安全”变量
我有类似:
// Dangerous __hostObject that makes requests bypassing
// the same-origin policy exposed from other code.
(function(){
var danger = __hostObject;
})();
delete __hostOBject;
我是绝对安全的认识没有脚本可以篡改或访问__hostObject
?
(如果可以的话,我有一个CSRF vulnerability或更糟)。
注1:这是一个浏览器扩展。我比页面上运行的其他脚本拥有更好的钩子。我在他们面前执行,并且在他们装载之前完成。
注2:我知道这已被多次询问脚本的一般情况。我想知道是否有可能,如果我知道我在之前加载任何其他脚本。
我写了一个[示例代码](http://jsfiddle.net/35G8e/2/),它会覆盖'Function.prototype的.call'。 (如果你真的认为我在帮助恶意开发者,请随时举报此帖,在我看来,最终的攻击者无论如何都会知道这些技术。) – ComFreek
@ComFreek你已经忘记'返回''oldCall'的结果。但的确,这是用于修补(内置)JavaScript方法的一般原则。 –