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

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

缺陷编号:wooyun-2015-0156731

漏洞标题:一加主站订单界面存储型XSS一枚

相关厂商:oneplus.cn

漏洞作者: 我有六块腹肌

提交时间:2015-11-30 11:08

修复时间:2016-01-15 10:38

公开时间:2016-01-15 10:38

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

危害等级:低

自评Rank:5

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-11-30: 细节已通知厂商并且等待厂商处理中
2015-12-01: 厂商已经确认,细节仅向厂商公开
2015-12-11: 细节向核心白帽子及相关领域专家公开
2015-12-21: 细节向普通白帽子公开
2015-12-31: 细节向实习白帽子公开
2016-01-15: 细节向公众公开

简要描述:

一加订单界面存在存储型XSS一枚,之前找到好多反射型的XSS想提交,但是不小心看到乌云已经不收普通的XSS了,这回找到一个存储型的,自认为也有一定的上下文环境,于是提交一下喽~要是不合格别封我啊,小菜一只^_^

详细说明:

0x01
能提交的XSS限制比较严格了,之前找过好多XSS都不满足乌云的要求没敢提交,这回这个看似满足斗胆提交一次- -#
0x02
闲话不多表,首先主角登场 http://www.oneplus.cn/

1+01.png


我们先买个东西,找贵的买啊(前提是有货,说个题外话,前两天上市的Mate8看起来不错哦^_^):

1+02.png


购买之前要先建立收货地址,这次瞄中的地方是手机号码:

1+03.png


可以看到,前端还是做了处理的。
所以我们决定抓包修改手机号码:

1+04.png


为了方便起见把该报文放到repeater里面:

1+05.png


我们先测试一下手机号码的长度:

1+06.png


1+07.png


对比上下两张图,第一张超长(超过20个字符)报错,而下面的图片为最长的20个字符,返回正常的信息。
下面在测试一下对于特殊字符是否有过滤:

1+08.png


从图中可以看到,如果输入了特殊字符,则会直接返回一个html网页,而不是正常返回的json数据。
那我们看看对双引导有没有过滤,过滤了尖括号后,双引导可以称得上是头号杀手了:

1+09.png


没有过滤双引号
没有过滤双引号
没有过滤双引号
重要的事说三遍。
最终修改完成的地址为下面:

1+10.png


提交订单,返回订单编号,点击进去:

1+11.png


找找看,有没有我们的手机号信息:

1+12.png


可以看到,确实是有的,可以说已经成功一半了,下面alert一个窗户,证明一下自己吧!

1+13.png


什么?有特殊字符?什么鬼。
已经查复,机智的我,发现,alert被过滤了(我也是醉了,我以为只有小说里才会过滤alert)
好吧,换个函数,用prompt去试试吧:

1+14.png


最终,我们虽然不能alert,但是prompt了《一个1》(偶像代言的手机就弹个小说出来吧)出来。

1+15.png


0x03
后面再说几句:
首先,手机号码的字符数只有20位,如果要构造具有攻击性比较强的载荷可能需要大牛利用短连接等奇门淫技来试试,小菜我证明出来也就该洗洗睡了。
其次,这个订单有有效期,不过即使是过了有效期的订单,也会存在在系统中,过期的订单界面我没有去查看,因为还没有过2个小时,嘿嘿。

漏洞证明:

见说明。

修复方案:

首先手机号20位我也是醉了!
然后后台不校验手机号是不是数字我也是醉了!!
最后alert都过滤了不过滤引号我真是醉了。。。
过滤呗~

版权声明:转载请注明来源 我有六块腹肌@乌云


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:5

确认时间:2015-12-01 10:37

厂商回复:

感谢您的报告,问题已着手处理

最新状态:

暂无