Apache Solr 远程命令执行漏洞:CVE-2019-0193


Apache Solr 远程命令执行漏洞

2019年8月1日,Apache Solr官方发布了 CVE-2019-0193 漏洞预警,漏洞危害评级为严重。

此次漏洞出现在 Apache Solr 的 DataImportHandler ,该模块是一个可选但常用的模块,用于从数据库和其他源中提取数据。它具有一个功能,其中所有的DIH配置都可以通过外部请求的 dataConfig 参数来设置。由于 DIH 配置可以包含脚本,因此攻击者可以通过构造危险的请求,从而造成远程命令执行。

360CERT 判断漏洞等级为高,建议 Apache Solr 用户及时升级以防止攻击者攻击。

POC


    
    
        
            
            
        
    

漏洞成因

该漏洞的产生是由于两方面的原因:

  • 用户在solrconfig.xml文件中设置了DataImportHandler,开启了DataImport功能。
  • DataImportHandler模块允许用户自己包含脚本,来进行配置。

攻击者可以通过构造恶意的脚本交由转换器进行解析,在Solr解析的过程中并未对用户的输入做检查,可导致攻击者远程在Solr服务器上执行命令。

环境搭建

solr部署

本环境采用docker部署
拉取镜像:docker pull solr: 8.1.1
启动容器:docker run –name solr -d -p 8983:8983 -t solr:8.1.1
访问http://IP:8983/,apache solr 框架部署完毕

开启DataImportHandler插件

新建core:


点击Add Core,solr系统报错。

然后执行:docker exec -it –user root solr /bin/bash,进入solr容器。

进入容器后,执行:

cp /opt/solr-8.1.1/server/solr/configsets/_default/conf  /var/solr/data/new_core/
cp /opt/solr/dist/solr-dataimporthandler-8.1.1.jar /opt/solr/server/solr-webapp/webapp/WEB-INF/lib
cp /opt/solr/dist/solr-dataimporthandler-extras-8.1.1.jar /opt/solr/server/solr-webapp/webapp/WEB-INF/lib
cd /var/solr/data/new_core/conf/
vim solrconfig.xml

DataImportHandler 插件配置

将下面的XML添加到solrconfig.xml

 
     
      data-config.xml 
     

:XML的格式一定按照上述格式,否则会报错!

执行vim data-config.xml,并将下面XML保存至该文件:


    
    
        
            
            
        
    

然后将 mysql-connector-java-5.1.48.jar 放入 /opt/solr/server/solr-webapp/webapp/WEB-INF/lib 文件夹下

重启solr

然后重启solr:./opt/solr/bin/solr restart

至此,漏洞环境搭建完毕,搭建成功的截图如下:

漏洞测试

访问管理页面

浏览器访问:http://IP:8983/

开启Debug模式

将poc复制到Configuration中:

可在标注的地方更换受害机执行的命令,本文以反弹shell为例。

开启监听

nc -lp 4567

执行命令

点击 Execute with this Configuration

执行成功可以发现shell已经成功反弹:

影响范围

  • Apache Solr < 8.2.0

修复建议

  • 将Apache Solr升级至8.2.0或之后的版本

文章作者: Geekby
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Geekby !
 上一篇
Hack The Box —— Lame Hack The Box —— Lame
Hack The Box —— Lame 信息搜集与漏洞利用先上 nmap 扫描一波: nmap -T4 -A -v 10.10.10.3 发现开了四个端口。 搜索 vsftpd 相关漏洞,发现2.3.4版本自带后门,在 metasplo
2019-08-10
下一篇 
CVE-2019-14361 & CVE-2019-14379漏洞复现 CVE-2019-14361 & CVE-2019-14379漏洞复现
CVE-2019-14361 & CVE-2019-14379漏洞复现7月30日晚收到了推送,得知 Jackson-databind 又出了新的 RCE ,又有大佬找到了新的利用方式。 漏洞分析根据 Jackson 开发者的 iss
2019-08-01
  目录