日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Moodle安全漏洞如何启动远程代码执行?

發(fā)布時間:2025/7/14 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Moodle安全漏洞如何启动远程代码执行? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Moodle是開源基于PHP的學(xué)習(xí)管理系統(tǒng),全球數(shù)以萬計的大學(xué)都在使用它,然而,近日Moodle中發(fā)現(xiàn)的漏洞可能讓服務(wù)器及其數(shù)據(jù)受到攻擊。根據(jù)發(fā)現(xiàn)該漏洞的研究人員表示,Moodle安全漏洞實(shí)際由幾個小漏洞組成,它可使攻擊者在相關(guān)服務(wù)器執(zhí)行PHP代碼。那么,這個漏洞執(zhí)行條件是什么,以及我們應(yīng)該如何阻止它?

Michael Cobb:Vaultra公司安全研究人員兼首席執(zhí)行官Netanel Rubin發(fā)現(xiàn),通過利用一系列小漏洞,他可將它們鏈接起來在運(yùn)行Moodle的服務(wù)器遠(yuǎn)程執(zhí)行代碼。

Moodle是一個開源學(xué)習(xí)管理系統(tǒng),它存儲著大量敏感信息,例如學(xué)生成績、測試和隱私數(shù)據(jù),這使其成為黑客的攻擊目標(biāo)。Moodle安全漏洞被跟蹤為CVE-2017-2641以及Moodle Tracker問題MDL-88010。

這種攻擊幾乎可在所有Moodle版本執(zhí)行,因此管理員應(yīng)該升級到最新版本3.2.2,以盡快解決該問題。除了更新到最新版本,管理和還應(yīng)該檢查Moodle內(nèi)任何新管理員、插件或者模板,并在文件系統(tǒng)中搜索任何新文件,以防服務(wù)器遭到入侵。

Moodle系統(tǒng)的規(guī)模和復(fù)雜性導(dǎo)致這些編碼和邏輯缺陷,也最終產(chǎn)生這個Moodle安全漏洞;Moodle系統(tǒng)包含數(shù)千個文件、數(shù)百個組件以及大約200萬行PHP代碼,由不同開發(fā)人員在不同時間編寫和更新。

此前,Moodle中添加了一個新函數(shù)update_user_preferences來替換update_users函數(shù),它會進(jìn)行特權(quán)檢查,因此即使攻擊者可通過用戶偏好設(shè)置來更改設(shè)置,也只能以自己的權(quán)限更改。

雖然這個新函數(shù)消除了更改每個用戶屬性的可能性,但該代碼無法檢查哪些偏好設(shè)置被更改。前面的函數(shù)使用setuserpref.php文件來檢查需要更新的偏好設(shè)置列在ajax_updatable_user_prefs數(shù)組中,該數(shù)組定義了可通過Ajax更改的偏好設(shè)置,以確保不會更改關(guān)鍵值。

具有諷刺意味的是,為了減少對該用戶屬性更新功能的任何潛在濫用情況,這個新的特權(quán)檢查實(shí)際上引入了Moodle安全漏洞。開發(fā)人員可能認(rèn)為用戶偏好設(shè)置不可能被利用來加載全面攻擊,因?yàn)樗鼈冎皇怯绊憟D形用戶界面部分。

然而,缺乏包含讓對象注入攻擊可更新整個數(shù)據(jù)庫的任何行,例如管理員賬戶、密碼和站點(diǎn)配置。Rubin發(fā)現(xiàn),在代碼開發(fā)過程中做出的這個假設(shè)和其他假設(shè)可能被利用來最終執(zhí)行PHP代碼。

邏輯漏洞可能出現(xiàn)在任何具有大型代碼庫的系統(tǒng)中,特別是在由不斷變化的開發(fā)團(tuán)隊在長時間開發(fā)的系統(tǒng)。

根據(jù)《Code Complete》作者Steve McConnell表示,超過512000行代碼的軟件項目平均每千行代碼中有4到100個編碼錯誤。典型的Web應(yīng)用會使用多種語言,例如Java、HTML、PHP、Python、CSS、第三方庫和組件等,很少有開發(fā)人員知道或者了解如何使用和整合它們,而不會引入任何安全漏洞。

為了減少開發(fā)人引入邏輯漏洞或者省略安全及驗(yàn)證檢查,應(yīng)該要求他們使用約定的注釋風(fēng)格來添加最低級別的代碼注釋,以及更詳細(xì)的支持文檔。維基百科有完整的注釋樣式列表。

盡管花時間評論和記錄代碼會減緩開發(fā)速度,但這可確保在未來更改代碼的開發(fā)人員可完全了解函數(shù)的作用、操作方式以及需要對處理的數(shù)據(jù)進(jìn)行哪些檢查。同樣重要的是當(dāng)函數(shù)在接收其他函數(shù)傳遞的數(shù)據(jù)時,不能認(rèn)為數(shù)據(jù)已經(jīng)經(jīng)過檢查,因?yàn)榍懊娴暮瘮?shù)可能通過不同的要求或規(guī)則對其進(jìn)行檢查。

這方面很好的示例是電話號碼,從數(shù)據(jù)庫檢索和顯示用戶電話號碼的函數(shù)可能會接收+和()符號,但如果該函數(shù)將數(shù)據(jù)傳遞給實(shí)際撥打號碼的函數(shù),且在處理前沒有移除這些符號,可能會導(dǎo)致該函數(shù)失效。


本文作者:鄒錚?

來源:51CTO

總結(jié)

以上是生活随笔為你收集整理的Moodle安全漏洞如何启动远程代码执行?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。