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

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

缺陷编号:wooyun-2015-0159503

漏洞标题:麦德龙奇葩设计导致全站用户相关信息泄露

相关厂商:metromall.cn

漏洞作者: userlxx

提交时间:2015-12-09 12:22

修复时间:2016-01-25 18:01

公开时间:2016-01-25 18:01

漏洞类型:未授权访问/权限绕过

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

麦德龙,业界良心厂商。
作为一个菜鸟挖的洞竟然送来了礼物,第一个礼物啊,感动的哭!于是又挖了挖以表感谢~~

详细说明:

漏洞有两处,配合起来可以控制全站用户账号:
(1) 正常情况下,后台根据请求的sessionID来查询用户信息;但是,如果sessionID不正确的时候,后台根据请求cookie中的CustomerID来查询信息。——这样可以遍历全站用户信息。
(2) 用户账户修改自身密码时不验证旧密码,且根据第一个漏洞,sessionID不正确时使用CustomerID来重置账户密码。——重置全站账户密码,并登陆任意操作。
1、正常情况下,后台根据请求的sessionID来查询用户信息:我的土豪账号。(查询个人信息为例 /account/accinfo.aspx);

9-1.png


2、修改CustomerID为27685(注册的另外一个账号),依然根据sessionID查询;

9-2.png


3、但是。。但是。。把sessionID改错后,程序就根据CustomerID来查询个人信息。
好机智的一个“容错”能力!!!真是佩服这设计。

9-3.png


4、这样,就可以轻易的遍历用户信息、订单信息。。等等
/account/accinfo.aspx ——查询“个人信息”

9-4.png


/account/orderlist.aspx ——查询“订单信息”

9-5.png


5、竟然有这么一个奇葩的漏洞,应该深入利用一下。立马想到重置账号密码,由此联想到登录后“修改密码”功能。

1.png


6、输入“原密码”,此时发送一个ajax请求验证旧密码是否正确,可篡改返回值绕过。

2.png


3-1.png


7、两次输入新密码,提交请求。
首先,发送验证旧密码请求/account/modifypwd.aspx,使用上一步方法绕过检查。
然后,发送重置密码的请求/account/modifypwd.aspx,携带旧密码和新密码。该死的是修改密码这个request不检查旧密码,直接重置密码。

6.png


8、由此,结合“奇葩cookie利用”漏洞,即可重置任意账户的口令。
以CustomerID=27026为例(订单遍历的时候看到她买过东西,所以就她了)
首先,重置CustomerID=27026的密码。

user-27026-重置密码.png


然后,查下27026的手机号(即登录用户名)是什么。

user-27026-个人信息.png


好,现在我们有27026的账户/口令了,登录瞅瞅吧~

user-27026-订单列表.png


9、用户账号都控制了,最基本是大量用户信息泄露。。另外,我可以为用户“到付”下单啦(我是雷锋)。。
当然,我什么都没有做!

漏洞证明:

如上。

修复方案:

1、cookie这个使用也太奇葩了。。
2、重置密码需要验证旧密码的,不能单独验证。
这回可以给20RANK了,谢啦~
或许可以再来一个礼物,我太贪得无厌了。。。

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:18

确认时间:2015-12-14 09:24

厂商回复:

已确认

最新状态:

暂无


漏洞评价:

评价