
整理 | 鄭麗媛
出品 | CSDN(ID:CSDNnews)
作為在服務器端執行的腳本語言,PHP 尤為適用于 Web 開發并可嵌入 HTML 中,因此許多個人和企業網站的開發都習慣了 PHP 的便捷,
可近日,PHP 官方 Git 倉庫卻被黑客攻擊,致代碼庫遭篡改,惡意代碼植入了一個遠程代碼執行的后門,即黑客可遠程接管任何使用 PHP 的網站!

兩個冒名的惡意提交
上周日,PHP 的開發者兼維護者 Nikita Popov 表示,在 git.php.net 服務器上維護的 php-src 存盤庫中發現兩個惡意提交,而且這兩個提交還都偽造了他的簽名和 PHP 創建者 Rasmus Lerdorf 的簽名,


表面看來,這兩個提交都只是“Fix typo”,即修復打字排版錯誤,加之又是以 Nikita Popov 和 Rasmus Lerdorf 的名義提交,因此開發者很容易將其混淆為已知的 PHP 維護者所為,
不過,一旦將目光移至第 370 行,問題就浮出了水面:這行呼叫了 zend_eval_string 函式的代碼,實際上是植入了一個遠程代碼執行(RCE)的后門,但凡運行該版本 PHP 的網站都會可能受到攻擊,

PHP 開發者 Jake Birchall 對此解讀為:“如果該字串以’zerodium’開頭,那么這行代碼將從 useragent HTTP 頭內執行 PHP 代碼,”
據 Web Technology Surveys 的調查顯示,全球近 80% 的網站均由 PHP 支持,倘若這個遠程代碼執行(RCE)的后門就此被植入并未被發現,后果不堪設想,
所幸,Nikita Popov 表示這兩個惡意提交很快便被發現并已還原:“第一個提交是在提交后幾個小時發現的,這是常規提交后代碼審查的一部分,這些更改顯然是惡意的,所以立即被還原了,”
此外,Popov 補充道,這些惡意提交是在 PHP 8.1 的開發分支上進行的,而該分支將于今年年底發布,所以目前并沒有造成嚴重后果,

PHP 原始碼庫由 Git 遷移至 GitHub
由于惡意提交是以 Nikita Popov 和 Rasmus Lerdorf 的合法維護者名義所上傳,因此目前為止,尚不清楚肇事者是誰,以及他們是如何發布惡意提交的,不過這種事情的發生也不是太令人驚訝,因為像 Git 這樣的原始碼版本控制系統,其實很容易實作將偽造的提交上傳至遠程 Git 服務器,
PHP 維護者 Nikita Popov 也指出,雖然開發團隊不確定確切的攻擊方式,但是有跡象表明這次惡意活動是由受感染的 git.php.net 服務器引起的,而非個人 Git 帳戶,
因此,為了預防此類事件的再次發生,PHP 維護者已決定將官方 PHP 原始碼庫遷移到 GitHub,

Nikita Popov 在宣告中表示,盡管調查仍在進行中,但他們將停止 git.php.net 服務器,而曾經僅僅是作為鏡像的 GitHub 存盤庫今后將變得規范,也就是說,未來 PHP 所有的代碼更改都要直接推送至 GitHub 而不是 git.php.net 服務器,
此外,之前對 PHP 專案存盤庫有寫訪問權的開發者現在也需要加入 GitHub 上的 PHP 組織,

Zerodium:與我與關
作為至今仍是服務器端主要的編程語言,PHP 的 Git 服務器被黑這件事引起了強烈的關注及討論,今日在 Techmeme 和 HN 上均登上首頁或 TOP 榜,


其中,由于惡意代碼中提到了“zerodium”一詞,因此許多開發者猜測此事或許與 Zerodium 公司有關,
PS:Zerodium 號稱網路軍火商,一家主營軟體漏洞采購、專門倒賣 0day 漏洞,并將之向政府和執法機構轉售的企業,
對此,Zerodium 的 CEO Chaouki Bekrar 在推特否認了相關謠言:“向今天在 PHP git 中輸入‘Zerodium’的巨魔歡呼,很明顯,這事跟我們無關,很可能,發現這個漏洞的研究人員試圖把它賣給許多物體,但沒有人想買這個垃圾,所以他們把它燒了,”

對于這起事件,也有許多網友進行了熱議,
評論1:
提交[1]中的’zend_eval_string’的第三個引數是執行代碼的"filename",它可能用于堆疊跟蹤,這是一個非常奇怪的現象,在日志中看到這一點可能會立即敲響警鐘,
因此總的來說,在我看來,這個提交的結構很奇怪——不是以一種“好的”隱蔽的方式,而是以一種“為什么它不試著更好地隱藏”的方式,

評論2:
在學習了幾個月的 Django 之后,昨天我決定回到 PHP/wordpress, PHP7 和 PHP8 看起來很穩定,PHP 仍然是最適合 Web 的語言,在我看來,PHP8 添加了 JIT,它可以將自己擴展到 Web 應用程式之外,希望遷移到 GitHub 可以讓團隊在 PHP 開發上有更多的自由,

對這件事,你有什么看法嗎?歡迎評論區留言!
參考鏈接:
https://github.com/php/php-src/commit/2b0f239b211c7544ebc7a4cd2c977a5b7a11ed8a?branch=2b0f239b211c7544ebc7a4cd2c977a5b7a11ed8a&diff=unified#diff-a35f2ee9e1d2d3983a3270ee10ec70bf86349c53febdeabdf104f88cb2167961R368-R370
https://news-web.php.net/php.internals/113838
https://www.bleepingcomputer.com/news/security/phps-git-server-hacked-to-add-backdoors-to-php-source-code/

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/271229.html
標籤:AI
