麻豆国内精品欧美在线-麻豆国内精品久久久久久-麻豆国产在线观看一区二区-麻豆国产在线观看免费-麻豆国产原创-麻豆国产一区二区在线观看

WF曲速未來 消息:邪惡的老師——Moodle中的代碼注入區(qū)塊鏈

曲速未來安全區(qū) 2018-08-21 23:41
分享到:
導(dǎo)讀

Moodle通常集成到更大的系統(tǒng)中,將WebMailer,電子學(xué)習(xí)平臺(tái)和其他技術(shù)加入到單一體系結(jié)構(gòu)中,共享帳戶憑據(jù)跨越一個(gè)巨大的攻擊面,以供未經(jīng)身份驗(yàn)證的攻擊者進(jìn)行網(wǎng)絡(luò)釣魚或提取教師帳戶的憑據(jù)。

概要

在這篇文章中,說明了Moodle中的一個(gè)關(guān)鍵漏洞。Moodle通常集成到更大的系統(tǒng)中,將WebMailer,電子學(xué)習(xí)平臺(tái)和其他技術(shù)加入到單一體系結(jié)構(gòu)中,共享帳戶憑據(jù)跨越一個(gè)巨大的攻擊面,以供未經(jīng)身份驗(yàn)證的攻擊者進(jìn)行網(wǎng)絡(luò)釣魚或提取教師帳戶的憑據(jù)。在某些情況下,存在一個(gè)用于請(qǐng)求Moodle課程的自動(dòng)服務(wù),該服務(wù)將利用學(xué)生的權(quán)利進(jìn)入他可以執(zhí)行他選擇的惡意軟件的位置,并在他參加的大學(xué)課程中為自己評(píng)定長期A。

Moodle是一種廣泛使用的開源電子學(xué)習(xí)軟件,擁有超過1.27億用戶,允許教師和學(xué)生以數(shù)字方式管理課程活動(dòng)和交換學(xué)習(xí)材料,這些材料通常由大型大學(xué)部署。但檢測到的先前Moodle版本中的關(guān)鍵漏洞的技術(shù)內(nèi)在性。它位于Moodle的Quiz組件中,可以通過教師角色成功利用,以執(zhí)行遠(yuǎn)程代碼執(zhí)行。如果您正在運(yùn)行Moodle <3.5.0,就強(qiáng)烈建議您立即將實(shí)例更新到最新版本。

影響 - 誰可以利用什么?

必須在使用默認(rèn)配置運(yùn)行的最新Moodle(早于3.5.0)的過程中為攻擊者分配教師角色。通過另一個(gè)漏洞(例如XSS)升級(jí)到此角色也是可能的。鑒于這些要求和漏洞的知識(shí),攻擊者將能夠在運(yùn)行Moodle的服務(wù)器的底層操作系統(tǒng)上執(zhí)行任意命令。通過使用由Moodle評(píng)估的特制數(shù)學(xué)公式 - 攻擊者繞過內(nèi)部安全機(jī)制,阻止惡意命令的執(zhí)行。

測驗(yàn)組件中的數(shù)學(xué)公式

Moodle允許教師設(shè)置包含多種類型問題的測驗(yàn)。其中包括計(jì)算出的問題,允許教師輸入一個(gè)數(shù)學(xué)公式,由Moodle動(dòng)態(tài)評(píng)估隨機(jī)輸入變量。這可以防止學(xué)生作弊并簡單地分享他們的結(jié)果。例如,教師可以輸入{x}添加到{y}的內(nèi)容?答案公式為{x} {y}。然后,Moodle將生成兩個(gè)隨機(jī)數(shù),并在問答文本(例如3.9 2.1)中為占位符{x}和{y}插入它們。最后,它將通過調(diào)用安全敏感的PHP函數(shù)來評(píng)估答案6.0eval()公式輸入因其惡意潛力而眾所周知,因?yàn)樗试S執(zhí)行任意PHP代碼。

為了強(qiáng)制使用無害的PHP代碼,Moodle的開發(fā)人員引入了一個(gè)驗(yàn)證函數(shù)qtype_calculated_find_formula_errors(),該函數(shù)在危險(xiǎn)調(diào)用之前被eval()調(diào)用,目的是檢測教師提供的公式中的非法和惡意代碼。

開發(fā)旁路

正如你在上面的源代碼中所看到的,最后一次preg_match()調(diào)用,是在1939,非常嚴(yán)格,并且將禁止除- /*%>:^\~<?=&|!.0-9eE公式中的左側(cè)之外的任何字符。然而,先前的str_replace()嵌套在一個(gè)while循環(huán)中對(duì)line 1927將取代公式中類似于所有的占位符{x}的1遞歸。對(duì)應(yīng)的正則表達(dá)式表示占位符的名稱在其字符集的考慮幾乎沒有限制{system(ls)}是有效的占位符,并也將受到1所取代的line 1928。這個(gè)事實(shí)指向一個(gè)弱點(diǎn),因?yàn)樗鼤?huì)preg_match()在函數(shù)返回之前隱藏安全調(diào)用中的所有潛在惡意字符false表示有效的公式。使用此技術(shù)隱藏惡意代碼并將其與嵌套占位符組合,會(huì)出現(xiàn)可利用的漏洞。

驗(yàn)證器拒絕第一個(gè)惡意公式qtype_calculated_find_formula_errors()。如果將它作為占位符并將其嵌入大括號(hào)中,如第二個(gè)有效負(fù)載所示,驗(yàn)證器將不會(huì)檢測到我們的攻擊,但Moodle將1.2在它到達(dá)之前用隨機(jī)數(shù)替換我們的占位符eval()。但是,如果我們引入另一個(gè)占位符并將其嵌入到我們已有的占位符中,Moodle將只替換內(nèi)部占位符,并且將在表eval()的第三行中看到一個(gè)危險(xiǎn)的剩余占位符。此時(shí),由于輸入的原因,我們的有效負(fù)載將拋出PHP語法錯(cuò)誤eval()是無效的PHP代碼。因此,我們只需要糾正PHP語法,方法是使用PHP注釋從PHP解析器中排除無效部分,從而得到第4行的最終有效公式,最終允許通過GET參數(shù)0執(zhí)行代碼。

適應(yīng)不足的補(bǔ)丁

Moodle了解問題后,他們立即做出了一個(gè)快速解決問題的補(bǔ)丁。但是,再重新掃描應(yīng)用程序后,仍然被檢測到相同的漏洞,指向繞過剛剛引入的漏洞補(bǔ)丁。在更精確地檢查相關(guān)的源代碼結(jié)果之后,能夠繞過補(bǔ)丁并實(shí)現(xiàn)與以前相同的影響。對(duì)于前三個(gè)提議的補(bǔ)丁,這是可能的,我們將在下一個(gè)小節(jié)中解釋每個(gè)旁路。

第一個(gè)補(bǔ)丁:黑名單

Moodle開發(fā)人員提出的第一個(gè)補(bǔ)丁是基于拒絕包含漏洞有效負(fù)載中使用的PHP注釋的公式的想法。正如你在代碼中看到的那樣,補(bǔ)丁前置了一個(gè)foreach循環(huán),用于檢查公式是否包含特定字符串。

這個(gè)補(bǔ)丁使我們當(dāng)前的有效載荷不能作為驗(yàn)證功能qtype_calculated_find_formula_errors()檢測其發(fā)起的PHP注釋字符串//,/*,#在我們使用的電流攻擊的有效載荷。此修補(bǔ)程序?qū)崿F(xiàn)了黑名單方法,并基于以下假設(shè):沒有攻擊者能夠?qū)⑸媳碇械?行的第3列的無效PHP語法更正為有效的PHP語法而不使用注釋。但是,補(bǔ)丁程序不足并允許利用此有效負(fù)載的更復(fù)雜版本。

二個(gè)補(bǔ)丁:拒絕嵌套占位符

第二個(gè)補(bǔ)丁的想法是通過在檢測占位符時(shí)刪除“遞歸”來防止在我們的有效負(fù)載中使用的嵌套占位符。但同樣,再重新掃描應(yīng)用程序仍然報(bào)告了相同的漏洞,這使我們更精確地查看以下新代碼行。

每當(dāng)我們輸入一個(gè)嵌套占位符時(shí),{a{b}}該方法qtype_calculated_find_formula_errors()現(xiàn)在只替換{b}占位符,并且剩余的公式{a1}被檢測為非法。但是,如果我們將公式改為{b}{a1}{a{b}}兩個(gè)占位符{b},{a1}并由函數(shù)檢測并返回find_dataset_names()。一個(gè)接一個(gè)地,每個(gè)占位符都在foreach循環(huán)中替換,從我們開始{b}并離開我們的公式1{a1}{a1}。最后,在替換{a1}公式等于111并且驗(yàn)證器批準(zhǔn)嵌套占位符,從而打破了此修補(bǔ)程序的意圖。考慮到這個(gè)技巧,我們只需要適當(dāng)調(diào)整我們的最后一個(gè)有效負(fù)載,以獲得與以前相同的關(guān)鍵效果:

第三個(gè)補(bǔ)丁:黑名單和線性替換

第三個(gè)補(bǔ)丁結(jié)合了前兩種方法,看起來非常適合防止嵌套占位符。但是,如果攻擊者瞄準(zhǔn)了Quiz組件的導(dǎo)入功能并重新導(dǎo)入了惡意破壞的XML問題文件,則攻擊者能夠控制(參見此處)的$dataset參數(shù)并使占位符替換無效。substitute_variables()

突出顯示的行顯示XML文件{x}在1951行上定義占位符的名稱。此占位符從不在1946行中的公式中使用。這將使我們的危險(xiǎn)占位符的替換無效,{system($_GET[0])}并導(dǎo)致我們在之前的補(bǔ)丁中遇到的相同代碼注入漏洞。

首先要感謝Moodle團(tuán)隊(duì)在修補(bǔ)問題時(shí)的快速響應(yīng)。WF曲速未來建議更新到最新的Moodle版本。

Moodle 補(bǔ)丁 公式 有效 使用
分享到:

1.TMT觀察網(wǎng)遵循行業(yè)規(guī)范,任何轉(zhuǎn)載的稿件都會(huì)明確標(biāo)注作者和來源;
2.TMT觀察網(wǎng)的原創(chuàng)文章,請(qǐng)轉(zhuǎn)載時(shí)務(wù)必注明文章作者和"來源:TMT觀察網(wǎng)",不尊重原創(chuàng)的行為TMT觀察網(wǎng)或?qū)⒆肪控?zé)任;
3.作者投稿可能會(huì)經(jīng)TMT觀察網(wǎng)編輯修改或補(bǔ)充。


專題報(bào)道

主站蜘蛛池模板: 久久国产精品高清一区二区三区 | 欧美一级视频在线高清观看 | 亚洲国产精品成人午夜在线观看 | 男男羞羞视频网站国产 | 五月激情丁香婷婷综合第九 | 草莓视频看污 | 青青青草国产 | 日本草草视频 | 四虎影视永久免费视频观看 | h黑寡妇一级毛片 | 无码人妻丰满熟妇啪啪网不卡 | 5555国产在线观看精品 | dasd-698黑人在线播放 | 99热精品在线播放 | 99亚洲 | 亚洲热影院 | 日韩欧美中文字幕一区 | 久久久久久久电影 | 亚洲免费黄色网 | 91最新国产| 欧美久久久久久 | 欧美亚洲国产另类在线观看 | 精品无码国产污污污免费网站2 | 精品国产国产精2020久久日 | 色综合合久久天天综合绕视看 | 草草草视频在线观看 | 欧美亚洲国产精品久久第一页 | 粉嫩极品国产在线观看免费 | 青草免费在线观看 | 国色天香社区视频在线观看免费完整版 | 午夜国产精品视频在线 | 日本高清在线播放 | 国产精品99久久免费观看 | 日韩一级片在线免费观看 | 免费一级生活片 | 亚洲国产在线 | 99精品视频在线观看免费 | 久久re热在线视频精69 | 免费一区二区视频 | 草草影院永久在线观看 | 欧美在线视频 一区二区 |