温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》
  • 首页 > 
  • 教程 > 
  • 网络安全 > 
  • Apache Solr 未授权上传RCE漏洞CVE-2020-13957的原理分析与验证是怎么样的

Apache Solr 未授权上传RCE漏洞CVE-2020-13957的原理分析与验证是怎么样的

发布时间:2021-12-28 17:48:37 来源:亿速云 阅读:160 作者:柒染 栏目:网络安全

这篇文章给大家介绍Apache Solr 未授权上传RCE漏洞CVE-2020-13957的原理分析与验证是怎么样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

漏洞简介

Apache Solr 发布公告,旧版本的ConfigSet API 中存在未授权上传漏洞风险,被利用可能导致 RCE (远程代码执行)。

受影响的版本:

  • Apache Solr6.6.0 -6.6.5

  • Apache Solr7.0.0 -7.7.3

  • Apache Solr8.0.0 -8.6.2

安全专家建议用户尽快升级到安全版本,以解决风险。

漏洞原理

Solr 可运行在 SolrCloud(分布式集群模式)和 StandaloneServer(独立服务器模式)两种模式下,当以 SolrCloud 模式运行时,可通过Configset API 操作 Configsets,包括创建、删除等。

对于通过 Configset API 执行 UPLOAD 时,如果启用了身份验证(默认未开启),且该请求通过了身份验证,Solr 会为该 configset 的设置“trusted”,否则该配置集不会被信任,不被信任的 configset 无法创建collection。

但当攻击者通过 UPLOAD 上传 configset 后,再基于此configsetCREATE configset 时,Solr 不会为这个新的 configset 进行信任检查,导致可以使用未经信任检查的新 configset 创建 collection。

漏洞验证

一、在8.6.2版本中进行攻击尝试

1、Debug 运行8.6.2版本,默认开启在8983端口

Apache Solr 未授权上传RCE漏洞CVE-2020-13957的原理分析与验证是怎么样的

2、使用样例构造上传的 configsetApache Solr 未授权上传RCE漏洞CVE-2020-13957的原理分析与验证是怎么样的

3、上传过程中触发断点

Apache Solr 未授权上传RCE漏洞CVE-2020-13957的原理分析与验证是怎么样的

可以看到,正确识别到 configset 不值得信任(缺少身份认证)

Apache Solr 未授权上传RCE漏洞CVE-2020-13957的原理分析与验证是怎么样的

Trust 值为 false

Apache Solr 未授权上传RCE漏洞CVE-2020-13957的原理分析与验证是怎么样的

4、 使用上传的 configset 为母版,创建新的 configset

http://localhost:8983/solr/admin/configs?action=CREATE&name=evilconfigset4&baseConfigSet=2testConfigSet&configSetProp.immutable=false&wt=xml&omitHeader=true

Apache Solr 未授权上传RCE漏洞CVE-2020-13957的原理分析与验证是怎么样的

无返回信息,未触发 debug

5、 在 web 控制台可以查看到,创建 evilconfigset4 成功

Apache Solr 未授权上传RCE漏洞CVE-2020-13957的原理分析与验证是怎么样的

6、 使用直接上传的 configset(例如2testconfigset)创建 collection 会失败

Apache Solr 未授权上传RCE漏洞CVE-2020-13957的原理分析与验证是怎么样的

Apache Solr 未授权上传RCE漏洞CVE-2020-13957的原理分析与验证是怎么样的

7、 使用以 2testconfigset 为母版创建的 evilconfigset4,创建collection,可以成功

Apache Solr 未授权上传RCE漏洞CVE-2020-13957的原理分析与验证是怎么样的

8、 后续可以利用创建的 collection 的内容,调用solr组件进行远程代码执行(这里不做分析)

二、 8.6.3 版本修复分析

1、 Debug 运行 8.6.3 版本

Apache Solr 未授权上传RCE漏洞CVE-2020-13957的原理分析与验证是怎么样的

2、进行攻击尝试,类似 8.6.2 版本,上传 configset

Apache Solr 未授权上传RCE漏洞CVE-2020-13957的原理分析与验证是怎么样的

3、触发断点

Apache Solr 未授权上传RCE漏洞CVE-2020-13957的原理分析与验证是怎么样的

正确识别为不可信 configset

Apache Solr 未授权上传RCE漏洞CVE-2020-13957的原理分析与验证是怎么样的

Apache Solr 未授权上传RCE漏洞CVE-2020-13957的原理分析与验证是怎么样的

4、 使用上传的 2testconfigset 为母版,创建新的 configset

http://localhost:8983/solr/admin/configs?action=CREATE&name=evilconfigset4&baseConfigSet=2testConfigSet&configSetProp.immutable=false&wt=xml&omitHeader=true

5、触发断点

Apache Solr 未授权上传RCE漏洞CVE-2020-13957的原理分析与验证是怎么样的

正确识别为不可信 configset(注意,在8.6.2版本中,以已上传的 configset 为母版创建新 configset 时,并不会触发检查)

Apache Solr 未授权上传RCE漏洞CVE-2020-13957的原理分析与验证是怎么样的

6、同样可以创建 configset 成功

Apache Solr 未授权上传RCE漏洞CVE-2020-13957的原理分析与验证是怎么样的

7、 在 web 控制台,分别使用直接上传的 configset(2testconfigset)以及创建的(evilconfigset4)新建 collection

2testconfigset:

Apache Solr 未授权上传RCE漏洞CVE-2020-13957的原理分析与验证是怎么样的

Apache Solr 未授权上传RCE漏洞CVE-2020-13957的原理分析与验证是怎么样的

Evilconfigset4 :

Apache Solr 未授权上传RCE漏洞CVE-2020-13957的原理分析与验证是怎么样的

Apache Solr 未授权上传RCE漏洞CVE-2020-13957的原理分析与验证是怎么样的

均创建失败。

关于Apache Solr 未授权上传RCE漏洞CVE-2020-13957的原理分析与验证是怎么样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI