0X01 漏洞描述
Grafana是一个跨平台、开源的数据可视化网络应用程序平台,用户配置连接的数据源之后,Grafana可以在网络浏览器里显示数据图表和警告。
Grafana 存在未授权任意文件读取漏洞,攻击者在未经身份验证的情况下可通过该漏洞读取主机上的任意文件。
0x02 源码分析
搜索漏洞存在路径 /public/plugins/ 在api.go文件中
r.Get("/public/plugins/:pluginId/*", hs.getPluginAssets)
跟踪对应的 getPluginAssets 方法
从请求路径中获取/public/plugins/ 后的参数赋值给 pluginID, 然后再被拼接至 pluginFilePath 进入文件读取片段
也就是说通过默认存在的插件来拼接文件路径构造请求进行文件读取
插件路径 public/app/plugins/panel
0x03 漏洞危害级别
高危
0x04 漏洞影响范围
Grafana 8.x
0x05 本地环境测试
访问网址
账户密码默认:admin/admin
简单判断是否存在:/public/plugins/a/a 显示 404 plugin not found 400 可能就是中间件问题
验证漏洞是否存在
漏洞存在!!!
脚本验证:
参考链接:
https://vas.riskivy.com/vuln-detail?id=104
https://nosec.org/home/detail/4914.html