天天看點

MongoDB管理工具曝遠端代碼執行漏洞

本文講的是 MongoDB管理工具曝遠端代碼執行漏洞,MongoDB,IT界主流非關系型資料庫(NoSQL)平台之一,是基于表的關系型資料庫的流行替代物。日前,用于管理MongoDB的一款圖形使用者界面(GUI)工具phpMoAdmin被暴具有非常嚴重的安全漏洞,一旦被利用,此漏洞将允許攻擊者在伺服器上執行指令。

MongoDB管理工具曝遠端代碼執行漏洞

phpMoAdmin為PHP語言寫就,與MySQL的資料庫管理工具phpMyAdmin類似,可使網站開發者和管理者能夠利用GUI進行多種資料庫操作。然而,phpMyAdmin有一個強大的開發社群為依托(鑒于其跟MySQL的關系),phpMoAdmin卻在已經兩年多沒更新了。

最近,研究人員發現phpMoAdmin代碼裡藏有一個嚴重漏洞。如上文所言,如果這個漏洞被利用,攻擊者将可以在伺服器上執行指令。此漏洞在本月早些時候被公開,一些管理者已經開始報告遭到漏洞利用攻擊。

phpMoAdmin的開發團隊是否注意到代碼漏洞我們尚不清楚。但,在Metasploit架構中相關子產品釋出前一周,罪犯就已經在售賣這一漏洞了。

漏洞的核心在于腳本在GET請求上使用了eval()函數。

eval(‘$find = ‘ . $_GET[‘find’] . ‘;’);

此時,可藉由改變$action變量觸發漏洞。

<a href="http://localhost/phpmoadmin/moadmin.php?action=listRows&amp;collection=0&amp;find=array();system(%27whoami%27);exit;">http://localhost/phpmoadmin/moadmin.php?action=listRows&amp;collection=0&amp;find=array();system(%27whoami%27);exit;</a>

網絡上的一個主機托管中心操控的僵屍網絡瞄準了此漏洞,試圖通過這個漏洞傳播由Perl腳本語言寫成的IRCbot病毒。這段病毒腳本,還有傳播方式,都與去年CSO網站報道過的Shellshock漏洞事件類似。

使用phpMoAdmin的使用者最好更換另一種GUI工具。目前有很多這種工具,比如RockMongo、MongoVUE、Mongo-Express或者UMongo。如果不想換,那就隻剩限制對phpMoAdmin的通路一途了。

phpMoAdmin項目目前處于停滞狀态,有可能都已經被放棄了,更加凸顯與開源代碼相關的安全風險。如果真的沒人對它進行維護,漏洞将永遠處于未修補狀态。

上個月,一個德國研究團隊發現了大約4萬個公開的MongoDB之後,MongoDB團隊釋出了一片博文,列出了一些基本的安全措施。鑒于目前事态發展情況,建議仔細閱讀這篇文章,以及MongoDB的安全手冊。

原文釋出時間為:三月 18, 2015

本文作者:nana

本文來自雲栖社群合作夥伴安全牛,了解相關資訊可以關注安全牛。