溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行CouchDB漏洞的分析

發(fā)布時間:2021-12-22 20:23:58 來源:億速云 閱讀:167 作者:柒染 欄目:大數(shù)據(jù)

今天就跟大家聊聊有關如何進行CouchDB漏洞的分析,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據(jù)這篇文章可以有所收獲。

0x00 文檔信息


        Apache CouchDB是一個開源數(shù)據(jù)庫,專注于易用性和成為"完全擁抱web的數(shù)據(jù)庫"[1]。它是一個使用JSON作為存儲格式,JavaScript作為查詢語言,MapReduce和HTTP作為API的NoSQL數(shù)據(jù)庫。應用廣泛,如BBC用在其動態(tài)內容展示平臺,Credit Suisse用在其內部的商品部門的市場框架,Meebo,用在其社交平臺(web和應用程序)。

        在2017年11月15日,CVE-2017-12635和CVE-2017-12636披露,CouchDB被曝存在遠程代碼執(zhí)行的問題。其中CVE-2017-12636的任意命令執(zhí)行早在2016年即被披露,但并未引起重視。

0x01 漏洞概述


        CVE-2017-12635是由于Erlang和JavaScript對JSON解析方式的不同,導致語句執(zhí)行產(chǎn)生差異性導致的。可以被利用于,非管理員用戶賦予自身管理員身份權限。

        CVE-2017-12636時由于數(shù)據(jù)庫自身設計原因,管理員身份可以通過HTTP(S)方式,配置數(shù)據(jù)庫。在某些配置中,可設置可執(zhí)行文件的路徑,在數(shù)據(jù)庫運行范圍內執(zhí)行。結合CVE-2017-12635可實現(xiàn)遠程代碼執(zhí)行。

0x02 漏洞分析


CVE-2017-12635問題在于Erlang和JavaScript對JSON中重復的鍵處理方式具有差異性,例如{“a”:”1”,”a”:”2”},

Erlang:

如何進行CouchDB漏洞的分析

對于給定的鍵,Eralang解析器將存儲兩個值,但是JavaScript只存儲第二個值。但是在jiffy實現(xiàn)的時候,getter函數(shù)只返回第一個值。

如何進行CouchDB漏洞的分析

除了輸入驗證腳本之外,幾乎所有關于身份驗證和授權的重要邏輯都發(fā)生在CouchDB的Erlang部分,所以這樣可以使當前用戶賦予“_admin”身份。

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

如何進行CouchDB漏洞的分析

如何進行CouchDB漏洞的分析

        可以發(fā)現(xiàn)patch后,加入了dedupe_keys字段用于對重復鍵的標識,重寫了make_object方法,使得jiffy解析JSON的方法和JavaScript一致。

        而CVE-2017-12636漏洞在于CouchDB自身的設計問題,CouchDB允許外部通過自身HTTP(S) API對配置文件進行更改,一些配置選項包括操作系統(tǒng)級二進制文件的路徑,隨后會由CouchDB啟動。從這里獲取shell通常很簡單,因為CouchDB其中一個“query_servers“選項,可以自定義語言,這個功能基本上只是一個包裝execv。

如何進行CouchDB漏洞的分析

可以構造簡單的POC進行驗證:

如何進行CouchDB漏洞的分析

更改query_servers配置,創(chuàng)建個臨時表,調用query_servers處理數(shù)據(jù)。這樣便可以執(zhí)行shell,在規(guī)定的/tmp/6668文件中,寫入ifconfig信息。

這樣配合之前的CVE-2017-12365權限提升漏洞,實現(xiàn)遠程代碼執(zhí)行:

如何進行CouchDB漏洞的分析

0x03 全網(wǎng)影響


根據(jù)360CERT全網(wǎng)資產(chǎn)檢索平臺實時顯示,共有4943臺CouchDB服務在外網(wǎng)開放,以美國占量為主

如何進行CouchDB漏洞的分析

如何進行CouchDB漏洞的分析

國內統(tǒng)計以廣東,北京占量為主

如何進行CouchDB漏洞的分析

0x04 修復建議


1、所有用戶都應升級到CouchDB 1.7.1或 2.1.1。

2、配置HTTP API配置參數(shù),針對敏感配置信息加入黑名單。

看完上述內容,你們對如何進行CouchDB漏洞的分析有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI