查看原文
其他

看我如何发现价值3000美元的推特漏洞(附 PoC)

Terence Eden 代码卫士 2022-06-21

 聚焦源代码安全,网罗国内外最新资讯!

编译:360代码卫士团队

想象一下这个场景:你试图尝试下某些很酷的新的推特 app。像往常那样,它要求你通过 OAuth 登录。你浏览了下权限,它可不想访问你的直接信息(Direct Messages)。果真如此吗?

你授权它访问这些直接信息,而这正是你的私密信息被暴露给全世界的罪魁祸首!开少儿不宜的玩笑了?发暗黑表情包了?完了,全世界都知道了。

到底怎么回事?

多年前,推特的官方 API 密钥遭暴露,也就是说无法使自己的 app 通过推特批准的 app 作者仍然可以访问推特 API。

出于某种原因,推特的 OAuth 屏幕表示这些 app 无法访问直接信息。但事实完全相反!

简言之,用户可被诱骗交出访问直接信息的权限。

限制条件

推特以安全的名义部署了不少限制措施,其中最重要的就是限制回调函数地址。成功登录后,这些 app 仅返回一个预定义 URL,也就是说你无法获取推特官方密钥并将用户发送到你的 app。这是一个合理的安全决策。

但,并非每款 app 都有 URL,或者支持回调函数,或者是一款真正的 app。推特为这类案例构建了第二授权机制。你登录之后,它会提供一个供你输入 app 的 PIN 码。

似乎这些官方 PIN app 并未向用户展示正确的 OAuth 信息。

修复

将问题告知推特后,后者审计了老旧版本的 app 并表示问题已修复。本文作者认为老旧 app 从未设计为能够访问直接信息,但在某个时点在后台更新。

PoC


作者通过 HackerOne 平台提交了这个漏洞,后者于12月6日修复问题,并颁发2940美元的奖励。




推荐阅读

信息泄漏漏洞暴露数百万推特用户的直接信息

推特承认在内部日志中记录某些用户的明文密码



原文链接

https://shkspr.mobi/blog/2018/12/twitter-bug-bounty/




本文由360代码卫士编译,不代表360观点,转载请注明“转自360代码卫士 www.codesafe.cn”。




您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存