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

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

缺陷编号:wooyun-2014-060316

漏洞标题:SAE用户越权操作随机用户代码仓库

相关厂商:新浪

漏洞作者: 路人甲

提交时间:2014-05-11 18:16

修复时间:2014-06-25 18:16

公开时间:2014-06-25 18:16

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

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-05-11: 细节已通知厂商并且等待厂商处理中
2014-05-12: 厂商已经确认,细节仅向厂商公开
2014-05-22: 细节向核心白帽子及相关领域专家公开
2014-06-01: 细节向普通白帽子公开
2014-06-11: 细节向实习白帽子公开
2014-06-25: 细节向公众公开

简要描述:

SAE用户越权操作随机用户代码仓库,可导致平台大量随机用户的某版本应用无法使用。

详细说明:

诶,问题描述不敢多写啊,怕看了标题和描述就猜到了,影响平台用户使用呀~嘿嘿。

漏洞证明:

进入SAE控制面板

1.png


在代码管理中,创建一个新版本,并获取其VerID

2.png


为了不对正常用户的使用造成影响,我们这里使用一个用户A创建一个代码仓库,其版本ID为977091,该ID将作为将要被其他用户删除的VerID
Hacking Start…….(^_^)
使用一个新的用户身份登录系统,并随机找到一个应用,点击删除操作,并截取数据包,修改VerID为随机的版本库ID(此处为不影响正常用户,修改为用户A的版本ID 977091)

3.png


App_id=my***,为用户B的应用,VerId为用户A刚刚创建的应用。提交该请求之后提示【删除成功】,由于bootstrap的那个窗口很快就关闭了,没来得及截图删除成功的提示窗口。
此时再到用户A得到代码管理位置看代码仓库的版本,发现已经被删除了。

4.png


此时再查看用户管理记录,发现【管理记录】中有删除这个应用版本的用户的安全邮箱,但是这个用户真真的不是应用管理员啊!!!!!呜呜~~

5.png


--------------------------------------------------割----------------------------------------------
然后如果在删除应用的地方,遍历VerId,应该可以将SAE上所有用户的版本库删掉吧?!!这个没试,危害性太大,理论上是可行的。
--------------------------------------------------割----------------------------------------------

修复方案:

对用户权限的校验不应该只校验app_id,如果是全局id比如VerId也应该做校验;或者前后台对ID进行转换对应,比如前台app_id和用户自己的版本号user_ver_id对应数据库全局用户的VerId.
[不知道说得清不清楚,我不是做开发的~~~~ ^_^]
SAE是国内起步最早的App Engine,是率先支持PHP Runtime的云计算提供商,相对于国内其他App Engine,SAE拥有更大的优势和更好的稳定性,希望越做越好!

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2014-05-12 10:03

厂商回复:

感谢关注新浪安全,目前漏洞已经修复上线

最新状态:

暂无