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

javascript eval真的有那么大的安全威胁吗?,javascript,eval,Javascript,Eval,假设没有浏览器端的安全漏洞可以用来修改某人的计算机,我不明白使用eval会导致什么真正的威胁 有人能解释一下这是怎么可能的吗。有人可以在用户的计算机上显示一些东西,但如果没有重定向或接受下载,就不会造成真正的伤害。不会造成服务器端损坏,对吗?JavaScript提供了多种方式的访问,使浏览器向服务器发送数据。它们可能被用来对服务器发起攻击(包括拒绝服务攻击)。当您移交JavaScript的控制权时,可能证明有害的不仅仅是它的执行。使用Ajax,您可以将一个或一个pdf或一个小程序加载到当前页面本

假设没有浏览器端的安全漏洞可以用来修改某人的计算机,我不明白使用
eval
会导致什么真正的威胁


有人能解释一下这是怎么可能的吗。有人可以在用户的计算机上显示一些东西,但如果没有重定向或接受下载,就不会造成真正的伤害。不会造成服务器端损坏,对吗?

JavaScript提供了多种方式的访问,使浏览器向服务器发送数据。它们可能被用来对服务器发起攻击(包括拒绝服务攻击)。

当您移交JavaScript的控制权时,可能证明有害的不仅仅是它的执行。使用Ajax,您可以将一个或一个pdf或一个小程序加载到当前页面本身中。这将不显示对话框,您将调用插件(它们比浏览器本身拥有更多特权)


因此,从理论上讲,它可能会造成插件本身所允许的损害,这通常是相当大的。

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


根据存储在其中的内容(例如用户身份验证令牌)和系统的设计方式,可能会造成大量服务器端损坏。

因为eval可能导致代码的执行,因此会在您的站点上创建漏洞,除非您100%控制该代码(这是非常罕见的,否则你无论如何也不会考虑评估)

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


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

如果您的第一个假设无法证明,该怎么办?答案的价值有多大?
eval()
允许执行任意代码。您无法预测任意代码现在或将来会做什么。