javascript eval真的是那么大的安全威胁吗?

时间:2013-03-19 15:48:54

标签: javascript eval

假设没有可用于修改某人计算机的浏览器端安全漏洞,我不明白使用eval如何导致任何真正的威胁。

有人可以解释这是怎么可能的。有人可以在用户的​​计算机上显示某些内容,但如果没有重定向或接受下载,则无法实现真正​​的伤害。没有服务器端损坏,对吗?

4 个答案:

答案 0 :(得分:3)

当您移交对JavaScript的控制时,不仅仅是它的执行可能会有害。使用Ajax,您可以将flash object或pdf或Java小程序加载到当前页面本身。这不会显示任何对话框,你会调用插件(它拥有比浏览器本身更多的权限)。

因此,从理论上讲,它可能会造成与插件本身允许的一样多的损害,这通常会非常强烈。

答案 1 :(得分:2)

JavaScript提供了许多方法来访问浏览器将数据发送到服务器。可以利用它们来发起针对服务器的攻击(包括拒绝服务攻击)。

答案 2 :(得分:1)

存储在全局可访问的JavaScript变量中的任何数据(通过您的代码或第三方代码)都可用于传递给eval的代码。

根据存储在那里的内容(例如用户身份验证令牌)以及系统的设计方式,可能会造成很多服务器端损坏。

答案 3 :(得分:1)

因为eval会导致代码的执行,所以它会在您的网站上创建一个漏洞,除非您100%控制该代码(这非常罕见,或者您不会考虑使用eval)。

此漏洞不一定会对您的服务器产生负面影响,但它会严重影响您的用户,并且在某些情况下允许黑客窃取您的用户Cookie,访问其会话以及许多其他内容。

一个简单的例子是eval执行恶意脚本,该帖子向您的服务器发送一个帖子,其中包含服务器删除或更改用户数据的所有必要信息。因为请求实际上来自您的用户会话,所以这是一个非常有效的请求。