Evernote是一款記事軟體,这个漏洞由@neolex师傅发现并提交,目前漏洞官方已修复,已经公开披露了,来看看这个案例吧
https://hackerone.com/reports/1189367
打开印象笔记,发现有一个如下 的请求
细心的@neolex 师傅发现这里是一个Base64编码字符
解码后
是一个css文件,立即想到了 SSRF !
把http://169.254.169.254/latest/meta-data 编码成Base64,进行替换,尝试读取AWS EC2 实例元数据,失败了!
经过一段时间的试验和错误,neolex师傅了解到 url/filepath 必须要以 .css 或 .js 结尾的白名单
最终编码成这样去访问:
https://www.evernote.com/ro/aHR0cDovL21ldGFkYXRhLmdvb2dsZS5pbnRlcm5hbC9jb21wdXRlTWV0YWRhdGEvdjFiZXRhMS9pbnN0YW5jZS9zZXJ2aWNlLWFjY291bnRzL2RlZmF1bHQvdG4305ZW48Lmp.js/
Base64解码后的样子(注意这里的#.js):
http://metadata.google.internal/computeMetadata/v1beta1/instance/service-accounts/default/token#.js
#.js 服务器不会对其进行解释,但允许添加扩展,最终通过#.js 绕过了白名单
并且发现SSRF请求来自Google云
由于Evernote基础设施在谷歌云上,SSRF是可以去尝试访问谷歌API来获取token
详细请参考 SSRF in Exchange leads to ROOT access in all instances
通过SSRF http://metadata.google.internal/computeMetadata/v1beta1/instance/service-accounts/default/token 也获取到了token
把file:///etc/passwd#.js 编码成Base64也可以读取到passwd内容
最终获得了5 000$ bounty
最后推荐下朋友的星球【BugBounty漏洞赏金自动化】
关 注 有 礼
还在等什么?赶紧点击下方名片关注学习吧!
原文始发于微信公众号(渗透测试网络安全):印象笔记 价值 5000$的SSRF 案例分析