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

Posted zz0eyu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10.20总结一个漏洞提交页面的提权漏洞相关的知识,希望对你有一定的参考价值。

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

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总结一个漏洞提交页面的提权漏洞的主要内容,如果未能解决你的问题,请参考以下文章

SUID提权:CVE-2021-4034漏洞全解析

干货|Mysql漏洞利用和提权

Linux提权:从入门到放弃

Linux 新漏洞曝光,居然又双叒是提升权限漏洞!

Android提权漏洞CVE-2014-7920&CVE-2014-7921分析

Android提权漏洞CVE-2014-7920&CVE-2014-7921分析