首页 > 其他 > 详细

【10.20总结】一个漏洞提交页面的提权漏洞

时间:2018-10-20 19:05:48      阅读:150      评论:0      收藏:0      [点我收藏+]

!!!写完之后网页崩溃了,然后草稿找回的内容还不对!!!

Write-up地址:Add comment on a private Oculus Developer bug report


 漏洞起源于作者Sarmad Hassan (Juba Baghdad)对Oculus网站漏洞(非安全漏洞)提交功能的测试。

首先对该功能进行分析

1. 用户有两种提交漏洞的方式:公有和私有

2. 公有漏洞:任意人都可以评论或者回复评论

3. 私有漏洞:除了提交者和支持团队,没有人可以评论

4. 用户的仪表板中不会出现其他用户的私有漏洞

很明显,正常情况下用户不会接触到其他用户的私有漏洞,而也正是该部分功能值得我们进行突破。

通过对公有漏洞功能进行测试,分析私有漏洞功能可能存在的问题

作者创建了一个公有漏洞并评论,在回复该评论时拦截了发出的请求:

POST /graphql?locale=user HTTP/1.1
Host: graph.oculus.com

access_token=My-Acces-Token&variables={“input”:{“client_mutation_id”:”1",”comment_parent_id”:”556190998150906",”external_post_id”:”548709645565708",”message”:”what ever”}}&blablabla

可以发现两个有趣的参数名(这里作者应该是把两个ID搞混了,我这里是按照作者PoC视频解释的):

1. comment_parent_id: 评论的ID

2. external_post_id: 漏洞ID(漏洞ID可以从URL中获得https://developer.oculus.com/bugs/bug/your-bug-ID/

很自然的,作者想到可以对这两个ID进行替换:

一种情况是替换external_post_id,从而可以在其他用户的私有漏洞下评论,但是没有成功。

另一种情况是替换comment_parent_id,从而可以在其他用户私有漏洞的评论下进行回复,而该测试成功了。其实这里注意到,external_post_id还是攻击用户本来的漏洞ID,只是由于comment_parent_id变成了被攻击用户的私有评论ID,就可以实现攻击。

一个小问题

攻击者怎样获得其他用户私有漏洞的评论ID?这确实是一个问题,如果是针对某一特定用户,可能需要其他手段,但是攻击者仍然可以采用暴力的方式枚举ID,实现随机的攻击。


1. 对于测试的特性,有必要分析它各方面的功能,以及各类不同用户的权限。

2. 从正常权限出发,分析突破受限的权限

3. 某些程度上,漏洞就意味着逻辑上存在问题,所以不要按照正常的逻辑分析漏洞可能的方向,而要打破思维的限制

【10.20总结】一个漏洞提交页面的提权漏洞

原文:https://www.cnblogs.com/zz0eyu/p/9822531.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!