聚焦源代码安全,网罗国内外最新资讯!

01

漏洞简介

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

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

02

漏洞原理

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

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

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

03

漏洞验证

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

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

2、使用样例构造上传的 configset

3、上传过程中触发断点

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

Trust 值为 false

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

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

无返回信息,未触发 debug

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

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

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

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

二、 8.6.3 版本修复分析

1、 Debug 运行 8.6.3 版本

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

3、触发断点

正确识别为不可信 configset

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

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

5、触发断点

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

6、同样可以创建 configset 成功

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

2testconfigset:

Evilconfigset4 :

均创建失败。

04

参考

  • https://issues.apache.org/jira/secure/attachment/13012410/SOLR-14663.patch

  • https://issues.apache.org/jira/browse/SOLR-14663

  • https://github.com/apache/lucene-solr/commit/8f2f80bbb3c35fef036dce3162f4f03bf465e5f2

推荐阅读

Netlogon 特权提升漏洞(CVE-2020-1472)原理分析与验证

QEMU CVE-2020-14364 漏洞分析(含 PoC 演示)

题图:Pixabay License

本文由奇安信代码卫士编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。

奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的

产品线。

 觉得不错,就点个 “在看” 吧~

Apache Solr 未授权上传(RCE)漏洞(CVE-2020-13957)的原理分析与验证相关推荐

  1. 安全扫描失败无法上传_Apache Solr 未授权上传(RCE)漏洞的原理分析与验证

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

  2. Apache Axis2 后台文件上传getshell 漏洞复现

    0x00 前言 Apache Axis2是一个Web服务的核心支援引擎.AXIS2对旧有的AXIS重新设计及重写,并提供两种语言Java及C的开发版本. 事实上AXIS2 不只为WEB应用程序提供We ...

  3. ajax的auto是true,致远OA ajax.do未授权上传/seeyon/autoinstall.do.css(莫名其妙的坑记录一下) CNVD-2021-01627...

    0x01 打seeyon的站用ajax.do未授权上传的时候遇见了神奇的事情,先上payload吧,下面shell的路径为/seeyon/bak0.jspx,哥斯拉默认密码和密钥. POST /see ...

  4. 通达+oa+php+文件+乱,通达OA任意文件删除/OA未授权访问+任意文件上传RCE漏洞复现...

    0x00 简介 通达OA采用基于WEB的企业计算,主HTTP服务器采用了世界上最先进的Apache服务器,性能稳定可靠.数据存取集中控制,避免了数据泄漏的可能.提供数据备份工具,保护系统数据安全.多级 ...

  5. Grafana 中存在严重的未授权任意文件读取漏洞,已遭利用

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 Grafana Labs 发布紧急安全更新,修复了影响该公司主产品 Grafana 仪表盘中的严重漏洞 (CVE-2021-43798),CVS ...

  6. CVE-2021-30461 - VoIPMonitor未授权远程代码执行漏洞

    VoIPMonitor未授权远程代码执行漏洞 0X001前言 0X002 漏洞影响 0X003 漏洞原理 0X004 漏洞复现 0X041 空间搜索寻找目标 0X042 测试代码执行 0X005 PO ...

  7. nginx 上传文件漏洞_文件上传漏洞小结

    1 概念 上传文件时,服务器端脚本语言,未对上传的文件进行严格的验证和过滤,就有可能上传恶意的脚本文件,从而控制整个网站,甚至是服务器. 2 危害 • 网站被控制,对文件增删改查,执行命令,链接数据库 ...

  8. 记一次对DZ的渗透.(一句话木马与图片,文件上传解析漏洞)

    一.举例:St0rs Team 指剑碎星河分享 前言0X01 某日某帅正在使用着啊D 入侵百度的时候, 突然某位好友发来一条消息. "滴滴上车" 打开消息一看,说是要某帅帮忙日一个 ...

  9. nginx 上传文件漏洞_文件上传及解析漏洞

    注:本文仅供学习参考 文件上传定义: 文件上传漏洞是指网络攻击者上传了一个可执行的文件到服务器并执行.这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等. 这种攻击方式是最为直接和有效的, ...

最新文章

  1. sqlserver中判断表或临时表是否存在
  2. 特征工程-统计数据特征
  3. 想唱你就唱卡拉ok_如何将电唱机与其他设备连接起来
  4. ESFramework介绍之(34)―― ITcpServerAgent和IUdpServerAgent组件关系图
  5. 图像检索(一)--综述
  6. python-学生管理系统--1框架部分内容以及代码
  7. http 301、304状态码
  8. 顺丰快递如何凭收件人电话和单号批量查询物流信息
  9. 【项目实战】Python基于决策树多分类模型实现水色图像的水质评价
  10. x509证书,SSL详解
  11. Android仿QQ空间
  12. Luogu P4944 【PION贪吃蛇】
  13. Ninja is required to load C++ extensions in Pycharm
  14. 转自老赵:SICP书荐,及函数复用的一些解释
  15. 无公网IP通过旁路由openwrt的Zerotier实现和在家一样访问家里每个设备
  16. 利用浮动实现酷狗音乐主页布局2
  17. Docker搭建ngrok服务器
  18. 简历模板(毕业学生)
  19. EditText 集锦 - 开发中常用的用法及遇到的各种坑,androidtv开发视频教程
  20. 美国政府:伊朗黑客利用Log4Shell 漏洞攻陷联邦机构

热门文章

  1. 【原创】ASP.NET C# 对SQL/ACCESS 数据库的备份和还原函数
  2. 上海滩引爆数据中心热潮
  3. STM32系列芯片名称定义
  4. 为什么能上QQ而不能上网
  5. Linux初级运维(一)——Linux操作系统及常用命令
  6. WebApi实现验证授权Token,WebApi生成文档等 - CSDN博客
  7. ASP.NET Core管道深度剖析
  8. Vue.js学习与理解
  9. Bolt XML和JQBolt Lua代码自动补全插件配置教程
  10. 深入理解JavaScript定时器