2012-09-18 45 views
-2

让我说我想搞砸特定的网站,并在那里注入一些功能与页面交互。那么网站管理员可以通过检查窗口对象来检查是否只有由他定义的函数,并且如果有差异由ajax返回到他的服务器,那么实际上我的代码是否可以被窃取/以这种方式查看?我的注入JavaScript可以被网站作者看到吗?

回答

2

如果您在网站的全局上下文中注入代码,网站可能使用JavaScript来检测此问题,并且通过在函数上使用.toString(),获取注入函数的源代码。

但是,这种情况不太可能,您可以将大部分代码放入匿名自执行函数中,该函数仅在注册事件时使用代理函数,然后调用您的实际逻辑 - 并且这些函数将无法在外部访问匿名关闭。现在

(function() { 
    function doCrazyStuff() { /* OMG THIS IS TOP SEKRET! */ } 
    function crazyStuffProxy() { doCrazyStuff(); } 
    window.onload = crazyStuffProxy; 
}); 

有人访问window能拿crazyStuffProxy的代码,但就没有访问doCrazyStuff的方式。

当然,这只适用于不使用<script>标签注入所有代码的情况。但是,因为你标记了你的问题你的代码可能运行在不同的上下文中,除了你实际添加到窗口或DOM元素的代码,所以这应该不成问题...

0

这取决于。我可以写出一些非常贪婪的东西,并检测事情并发送。这需要很多工作来检测所有这些。

它不太可能。

相关问题