久久久久青草线蕉综合_欧美一级在线_国产精品灰丝手机在线_国产一级a免费无码视频软件_国产精品自拍网站

網(wǎng)絡(luò)事件解讀(2):CVE-2024-4577漏洞之PHP-CGI安全事件

發(fā)表日期:2024/09/14 瀏覽次數(shù):

前段時間新出現(xiàn)一個攻擊范圍很廣的漏洞,一些XAMPP服務(wù)器受到攻擊。這個攻擊事件是怎么發(fā)生的呢?背后的原因以及技術(shù)細(xì)節(jié)是什么呢?本文帶領(lǐng)大家透過這次PHP CGI攻擊事件了解網(wǎng)絡(luò)攻擊的背后真相以及相關(guān)原理。


1.     常見Web漏洞

Web安全漏洞是Web應(yīng)用中的一些安全缺陷,可能導(dǎo)致黑客利用來進(jìn)行一些惡意的網(wǎng)絡(luò)活動。常見的安全漏洞有:


SQL注入漏洞

通過將惡意的SQL代碼插入到應(yīng)用程序處理的SQL語句中,導(dǎo)致攻擊者可以修改數(shù)據(jù)庫查詢,從而讀取,修改或者刪除數(shù)據(jù)。

跨站腳本(XSS)漏洞

跨站腳本漏洞是客戶端代碼注入攻擊,利用Web應(yīng)用程序?qū)τ脩糨斎霗z查不足的漏洞,將惡意腳本注入到網(wǎng)頁中。當(dāng)用戶訪問該網(wǎng)頁時候,惡意腳本在用戶的瀏覽器端執(zhí)行,從而竊取用戶數(shù)據(jù)。

弱口令漏洞

弱口令漏洞是通常設(shè)置容易被別人猜測或被破解工具破解的口令,從而導(dǎo)致泄露敏感信息。

跨站請求偽造(Cross-Site Request Forgery, CSRF

攻擊者功過偽裝成合法用戶發(fā)送惡意請求到Web應(yīng)用,已到達(dá)非法授權(quán)操作的目的。

目錄遍歷漏洞

目錄遍歷漏洞允許攻擊者通過URL中的特殊字符訪問未授權(quán)的目錄和文件,導(dǎo)致敏感信息泄露或系統(tǒng)文件被篡改。

RCE漏洞

RCE漏洞即遠(yuǎn)程代碼執(zhí)行(Remote Code Execution)漏洞,是軟件缺陷導(dǎo)致攻擊者可以在后臺服務(wù)器并在上面執(zhí)行任意代碼。

RCE漏洞是指Web開發(fā)中,開發(fā)人員使用了一些特殊函數(shù),這些函數(shù)以一些字符串作為輸入,功能是將輸入的字符串當(dāng)做代碼或者命令來執(zhí)行。當(dāng)攻擊者可以控制這些函數(shù)的輸入時,就產(chǎn)生了RCE漏洞。正如本文接下來要介紹的PHP-CGI漏洞就是這種安全漏洞。


2.     PHP-CGI安全事件

時間:20246

目標(biāo):  使用PHP-CGIWeb服務(wù)器

結(jié)果:  Web服務(wù)器受到黑客攻擊,所有的文件都被加密鎖住,黑客在服務(wù)器目錄下留下勒索文件Read_Me.html,打開后內(nèi)容如下:

1.png

3.     CVE-2024-4577漏洞

本次攻擊事件是黑客使用locked勒索病毒,通過利用XAMPPPHP-CGI模式下在六月公布的遠(yuǎn)程代碼執(zhí)行漏洞CVE-2024-4577后對使用低版本的PHP Web服務(wù)器發(fā)起的典型Day1攻擊。

該漏洞是由DEVCORE團(tuán)隊發(fā)現(xiàn),PHP-CGI在設(shè)計實現(xiàn)時未能考慮Windows平臺的Best-Fit字符編碼轉(zhuǎn)換特性,使得黑客可以構(gòu)造特定的請求,繞過安全機制,從而直接在遠(yuǎn)程服務(wù)器上任意執(zhí)行代碼。當(dāng)前主要影響特定語系設(shè)置的Windows系統(tǒng),包括簡體中文(936),繁體中文(950)以及日文(932), 影響的PHP版本包括PHP8.3(<8.3.8)/PHP8.2(<8.2.20)/PHP8.1(<8.1.29)以及其他可能低于PHP8或者已經(jīng)不維護(hù)的版本。


漏洞背景原理

1) PHP CGI

CGI (Common Gateway Interface通用網(wǎng)關(guān)接口是通用網(wǎng)關(guān)協(xié)議,可以將客戶端請求傳給其他程序(如PHP),收集程序的輸出再返回給客戶端。PHP-CGI是用于Web服務(wù)器和PHP代碼之間的通信,通常用于PHP 5.x版本。也正是在PHP-CGI模式下爆出了CVE-2012-1823這個安全缺陷。


2) CVE-2012-1823漏洞

2.png
該漏洞不能正確處理缺少=(等號)字符的查詢字符串。根據(jù)RFC3875規(guī)范,如果查詢字符串缺少未解碼的等號,那么整個查詢字符串應(yīng)當(dāng)被視為CGI參數(shù)進(jìn)行傳遞,這給攻擊者帶了注入非法命令行參數(shù)的機會,攻擊者可以通過在查詢字符串中添加命令行選項來執(zhí)行任意代碼。

PHP-CGI的命令行參數(shù)如下圖所示:
3.png

那么攻擊者如果利用上述參數(shù)去構(gòu)造RCE攻擊呢?他們需要利用以下參數(shù)和配置:

a. -d選項,該參數(shù)可以通過修改ini條目更改php配置。

b. allow_url_include設(shè)置它為on,可以開啟php://inputphp代碼發(fā)到服務(wù)器并執(zhí)行。

c. auto_prepend_file指定每個php腳本執(zhí)行前自動包含的文件,它是全局的,對所有腳本生效。


通過上述參數(shù)和配置就可以構(gòu)造出如下攻擊url:
123.png

攻擊者只需要將自己的php惡意代碼構(gòu)造到http內(nèi)容中,就可以發(fā)送到服務(wù)器上并被執(zhí)行從而達(dá)到攻擊的目的。


3Windows ‘Best-Fit’編碼

PHP后來對上述的CVE-2012-1823漏洞做了修復(fù),只要匹配到上傳參數(shù)中沒有=(等號)且第一個字符是-的話,則不會去執(zhí)行并解析命令行。

Windows ‘Best-Fit’編碼給黑客繞過了這個修復(fù)的機會。


Windows系統(tǒng)使用代碼也來支持不同語言和區(qū)域的字符編碼,如簡體中文使用代碼頁936來映射字符和計算機的數(shù)值。如果用戶輸入了代碼頁中不支持的字符,為了能繼續(xù)運行,不能因為無法識別字符而崩潰,Windows使用了Best-Fit這種兼容機制,采用最接近的字符來替換無法識別的字符。

bestfit936顯示如下的映射部分截取圖所示。
123.png

CVE-2024-4577利用了WindowsBest-Fit編碼,使用%ad來替代之前查詢字符串中的-, 則可以繞過之前CVE-2012-1833修復(fù)中對-的檢測,而Windows在解析的時候,給轉(zhuǎn)化成-了,從而又重新完成了命令的執(zhí)行。這也是本次CVE-2024-4577漏洞的根本原因。


新的RCE攻擊的url格式則被構(gòu)造如下所示:

123.png

4.     CyberFlood漏洞庫抓包示例

PHP CGI安全漏洞公布后,CyberFloodTestCloud漏洞庫中也迅速更新了此漏洞,我們可以利用測試平臺抓包看一下該漏洞的具體信息。  


漏洞的信息描述:
123.png
把漏洞加入CTA測試模板運行后,抓包可以看到Post的構(gòu)造的URL跟前文一致
123.png

5.  解決方案建議

對于此次安全漏洞,推薦如下一些應(yīng)對措施但不限于:

  •     升級到最新的版本,目前官方已經(jīng)發(fā)布了PHP版本的更新,修復(fù)了漏洞。

  •     加強Web服務(wù)器的安全配置,例如限制訪問,使用防火墻規(guī)則等。

  •     使用Web應(yīng)用防火墻(WAF)來增強防護(hù)。

  •     建立良好的備份策略,以便在遭受攻擊時快速恢復(fù)。

     

本  期為大家介紹了CVE-2024-4577 PHP-CGI漏洞的相關(guān)知識及原理,后續(xù)我們可以繼續(xù)探討一些相關(guān)熱點安全問題,歡迎大家關(guān)注思博倫技術(shù)公眾號。



關(guān)鍵字:  漏洞,Web安全,PHP,網(wǎng)絡(luò)安全,CVE,CyberFlood,RCE,遠(yuǎn)程代碼執(zhí)行漏洞,TestCloud,病毒