漏洞概要 关注数(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标签: 无
漏洞详情
披露状态:
2014-08-16: 细节已通知厂商并且等待厂商处理中
2014-08-16: 厂商已经确认,细节仅向厂商公开
2014-08-26: 细节向核心白帽子及相关领域专家公开
2014-09-05: 细节向普通白帽子公开
2014-09-15: 细节向实习白帽子公开
2014-09-30: 细节向公众公开
简要描述:
前段时间连续发了六个药房网的漏洞,药房网修复以后希望再给他们测试一下,然后就有了今天这个漏洞~另外感觉药房网的运维、制作部相关人员都很负责的。
详细说明:
问题出在手机APP上。由于前段时间提交的漏洞都已修复,今天这个漏洞是修复后的产物。下面分三个部分来说明这个漏洞。第一部分:漏洞的影响;第二部分:猜测漏洞产生的原因;第三部分:漏洞如何利用。
第一部分:漏洞的影响
这个漏洞的影响可以说是前面已提六个APP漏洞的总和,也就是说可以越权为任意用户操作药房网APP所提供的几乎所有功能,包括查看、修改、新增、删除任意用户订单、收货地址、评论、咨询、收藏、购物车、个人信息等等。功能列表见下图
第二部分:猜测漏洞产生的原因
0x00:前面漏洞修复以前,药房网APP识别用户只用了用户id号,而id号是连续的且在请求中用明文传输,因此造成了越权。修复以后,又走了另一个极端,只用PHPSESSID作为用户的唯一标识,当然用随机生成的PHPSESSID本身没有问题,但是在PHPSESSID与用户关联时出了个奇葩问题。
0x01:下面分析一下用户正常登录的过程,第一步,输入用户名、密码,抓包信息如下图
0x02:登录成功以后,其APP又连续向服务器发了三个请求,下面分析三个请求中的第1、2个请求,请求内容如下图
问题的关键就在这两个get请求上了,登录以后,为什么还要再发这两个get请求呢?而且请求当中并没有发送用户的请求信息啊?目的是什么呢?仔细分析了个这两个请求,在请求的URL中发现了用户的id,然后请求的 cookie内容为PHPSESSID。猜想:难道该请求的作用是把用户id与PHPSESSID进行关联?后面经过测试证明猜想是正确的。
第三部分:漏洞如何利用
上面第二部分都分析到这种地地步了,如何利用应该很清楚了
利用步骤:成功登录自己的账号,然后抓取登录后APP自动发向服务器的两个请求,把请求url中的用户id号改为任意(目标)用户的id号(药房网的id号是连续增大的),你就可以完全控制了该目标用户的所有权限了。见下图
漏洞证明:
过程见详细说明,这里帖几张图,简单证明漏洞存在。下图为原来用户购物车内的商品
下图为帮他增加一个商品
下图为目标用户信息
下图为用户原收货地址
下图为给他增加一个收货地址
就来这几张吧,手机截图不太方便,仅证明漏洞存在,没做其他坏事(所用账号都是测试账号,未影响其他用户的正常使用)
修复方案:
见详细说明中的第二部分,你们是专家,你们比我懂
还有小礼物没有?
版权声明:转载请注明来源 PythonPig@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:20
确认时间:2014-08-16 20:15
厂商回复:
非常感谢!我们会尽快修复此漏洞,并寄送礼物。
最新状态:
暂无