假设没有可用于修改某人计算机的浏览器端安全漏洞,我不明白使用如何eval
导致任何真正的威胁。
有人可以解释这怎么可能。有人可以在用户的计算机上显示某些内容,但如果没有重定向或接受下载,就不会造成真正的伤害。不会造成服务器端损坏,对吧?
假设没有可用于修改某人计算机的浏览器端安全漏洞,我不明白使用如何eval
导致任何真正的威胁。
有人可以解释这怎么可能。有人可以在用户的计算机上显示某些内容,但如果没有重定向或接受下载,就不会造成真正的伤害。不会造成服务器端损坏,对吧?
JavaScript 提供了多种方式来使浏览器向服务器发送数据。可以利用它们对服务器发起攻击(包括拒绝服务攻击)。
存储在全局可访问的 JavaScript 变量(通过您的代码或第三方代码)中的任何数据都可用于传递给eval
.
根据存储在其中的内容(例如用户身份验证令牌)以及系统的设计方式,可能会造成大量服务器端损坏。
因为 eval 会导致代码执行,它会在您的站点上创建一个漏洞,除非您 100% 控制该代码(这非常罕见,或者您无论如何都不会考虑 eval)。
此漏洞不一定会对您的服务器产生负面影响,但它会非常严重地影响您的用户,并且在某些情况下允许黑客窃取您的用户 cookie、访问他的会话以及许多其他事情。
一个简单的例子是 eval 执行一个恶意脚本,该脚本向您的服务器发送一个帖子,其中包含您的服务器删除或更改用户数据所需的所有必要信息。因为请求实际上来自您的用户会话,所以它是一个完全有效的请求。