文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何进行CouchDB漏洞的分析

2023-06-19 12:04

关注

今天就跟大家聊聊有关如何进行CouchDB漏洞的分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

0x00 文档信息


        Apache CouchDB是一个开源数据库,专注于易用性和成为"完全拥抱web的数据库"[1]。它是一个使用JSON作为存储格式,JavaScript作为查询语言,MapReduce和HTTP作为API的NoSQL数据库。应用广泛,如BBC用在其动态内容展示平台,Credit Suisse用在其内部的商品部门的市场框架,Meebo,用在其社交平台(web和应用程序)。

        在2017年11月15日,CVE-2017-12635和CVE-2017-12636披露,CouchDB被曝存在远程代码执行的问题。其中CVE-2017-12636的任意命令执行早在2016年即被披露,但并未引起重视。

0x01 漏洞概述


        CVE-2017-12635是由于Erlang和JavaScript对JSON解析方式的不同,导致语句执行产生差异性导致的。可以被利用于,非管理员用户赋予自身管理员身份权限。

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

0x02 漏洞分析


CVE-2017-12635问题在于Erlang和JavaScript对JSON中重复的键处理方式具有差异性,例如{“a”:”1”,”a”:”2”},

Erlang:

如何进行CouchDB漏洞的分析

对于给定的键,Eralang解析器将存储两个值,但是JavaScript只存储第二个值。但是在jiffy实现的时候,getter函数只返回第一个值。

如何进行CouchDB漏洞的分析

除了输入验证脚本之外,几乎所有关于身份验证和授权的重要逻辑都发生在CouchDB的Erlang部分,所以这样可以使当前用户赋予“_admin”身份。

查看jiffy解析器源码,定位到patch:

如何进行CouchDB漏洞的分析

如何进行CouchDB漏洞的分析

        可以发现patch后,加入了dedupe_keys字段用于对重复键的标识,重写了make_object方法,使得jiffy解析JSON的方法和JavaScript一致。

        而CVE-2017-12636漏洞在于CouchDB自身的设计问题,CouchDB允许外部通过自身HTTP(S) API对配置文件进行更改,一些配置选项包括操作系统级二进制文件的路径,随后会由CouchDB启动。从这里获取shell通常很简单,因为CouchDB其中一个“query_servers“选项,可以自定义语言,这个功能基本上只是一个包装execv。

如何进行CouchDB漏洞的分析

可以构造简单的POC进行验证:

如何进行CouchDB漏洞的分析

更改query_servers配置,创建个临时表,调用query_servers处理数据。这样便可以执行shell,在规定的/tmp/6668文件中,写入ifconfig信息。

这样配合之前的CVE-2017-12365权限提升漏洞,实现远程代码执行:

如何进行CouchDB漏洞的分析

0x03 全网影响


根据360CERT全网资产检索平台实时显示,共有4943台CouchDB服务在外网开放,以美国占量为主

如何进行CouchDB漏洞的分析

如何进行CouchDB漏洞的分析

国内统计以广东,北京占量为主

如何进行CouchDB漏洞的分析

0x04 修复建议


所有用户都应升级到CouchDB 1.7.1或 2.1.1。

配置HTTP API配置参数,针对敏感配置信息加入黑名单。

看完上述内容,你们对如何进行CouchDB漏洞的分析有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网行业资讯频道,感谢大家的支持。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯