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

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

缺陷编号:wooyun-2014-072684

漏洞标题:药房网某处奇葩越权获任意用户权限

相关厂商:yaofang.cn

漏洞作者: PythonPig

提交时间:2014-08-16 16:14

修复时间:2014-09-30 16:16

公开时间:2014-09-30 16:16

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

危害等级:高

自评Rank:18

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

前段时间连续发了六个药房网的漏洞,药房网修复以后希望再给他们测试一下,然后就有了今天这个漏洞~另外感觉药房网的运维、制作部相关人员都很负责的。

详细说明:

问题出在手机APP上。由于前段时间提交的漏洞都已修复,今天这个漏洞是修复后的产物。下面分三个部分来说明这个漏洞。第一部分:漏洞的影响;第二部分:猜测漏洞产生的原因;第三部分:漏洞如何利用。
第一部分:漏洞的影响
这个漏洞的影响可以说是前面已提六个APP漏洞的总和,也就是说可以越权为任意用户操作药房网APP所提供的几乎所有功能,包括查看、修改、新增、删除任意用户订单、收货地址、评论、咨询、收藏、购物车、个人信息等等。功能列表见下图

用户各权限.png


第二部分:猜测漏洞产生的原因
0x00:前面漏洞修复以前,药房网APP识别用户只用了用户id号,而id号是连续的且在请求中用明文传输,因此造成了越权。修复以后,又走了另一个极端,只用PHPSESSID作为用户的唯一标识,当然用随机生成的PHPSESSID本身没有问题,但是在PHPSESSID与用户关联时出了个奇葩问题。
0x01:下面分析一下用户正常登录的过程,第一步,输入用户名、密码,抓包信息如下图

改登录1-1.jpg


0x02:登录成功以后,其APP又连续向服务器发了三个请求,下面分析三个请求中的第1、2个请求,请求内容如下图

改登录1-2副本.jpg

改捕获1-3.jpg

问题的关键就在这两个get请求上了,登录以后,为什么还要再发这两个get请求呢?而且请求当中并没有发送用户的请求信息啊?目的是什么呢?仔细分析了个这两个请求,在请求的URL中发现了用户的id,然后请求的 cookie内容为PHPSESSID。猜想:难道该请求的作用是把用户id与PHPSESSID进行关联?后面经过测试证明猜想是正确的。
第三部分:漏洞如何利用
上面第二部分都分析到这种地地步了,如何利用应该很清楚了
利用步骤:成功登录自己的账号,然后抓取登录后APP自动发向服务器的两个请求,把请求url中的用户id号改为任意(目标)用户的id号(药房网的id号是连续增大的),你就可以完全控制了该目标用户的所有权限了。见下图

关联1.jpg

关联2.jpg

漏洞证明:

过程见详细说明,这里帖几张图,简单证明漏洞存在。下图为原来用户购物车内的商品

收藏2.png

下图为帮他增加一个商品

收藏1.png

下图为目标用户信息

用户信息.png

下图为用户原收货地址

原地址.png

下图为给他增加一个收货地址

增加地址.png

就来这几张吧,手机截图不太方便,仅证明漏洞存在,没做其他坏事(所用账号都是测试账号,未影响其他用户的正常使用)

修复方案:

见详细说明中的第二部分,你们是专家,你们比我懂
还有小礼物没有?

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2014-08-16 20:15

厂商回复:

非常感谢!我们会尽快修复此漏洞,并寄送礼物。

最新状态:

暂无


漏洞评价:

评论

  1. 2014-08-16 17:54 | bey0nd ( 普通白帽子 | Rank:895 漏洞数:142 | 相忘于江湖,不如相濡以沫)

    你又来了...漂亮

  2. 2014-08-16 22:24 | PythonPig ( 普通白帽子 | Rank:491 漏洞数:71 | 只会简单工具的小小菜)

    @bey0nd 本来是搞定了药房网的全套功能越权的,结果就是修改密码被你抢走了~~还我~~

  3. 2014-08-16 22:29 | bey0nd ( 普通白帽子 | Rank:895 漏洞数:142 | 相忘于江湖,不如相濡以沫)

    @PythonPig 你都上首页了,我就得4rank..你的没打折吧。。基友求带

  4. 2014-08-16 22:46 | PythonPig ( 普通白帽子 | Rank:491 漏洞数:71 | 只会简单工具的小小菜)

    @bey0nd 肯定不能打折啊,这个漏洞整合了我前面发的那5个漏洞

  5. 2014-08-16 23:37 | bey0nd ( 普通白帽子 | Rank:895 漏洞数:142 | 相忘于江湖,不如相濡以沫)

    @PythonPig 高大上啊,很好奇是怎么越的,等着公开涨姿势

  6. 2014-11-27 16:19 | 狂人 ( 实习白帽子 | Rank:88 漏洞数:13 | Rank:999999999 漏洞数:999999999 | 小学生...)

    怎么抓的手机app包?用的模拟器么?还是?