免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

還原CloudflareCDN漏洞被利用的過程

2022-10-11    分類: 網站建設

Cloudflare 已修復其免費開源 CDNJS 中的一個嚴重漏洞,該漏洞可能影響互聯網上 12.7% 的網站。

CDNJS為數百萬網站提供超過4000個JavaScript和CSS庫,這些庫公開存儲在GitHub上,使其成為第二大JavaScript CDN。

該漏洞利用包括使用 GitHub 和 npm 將數據包發布到 Cloudflare 的 CDNJS,以觸發路徑遍歷漏洞,并最終遠程執行代碼。

如果被利用,該漏洞將導致 CDNJS 基礎設施的完全攻擊。

還原 Cloudflare CDN 漏洞被利用的過程

從“ZIP Slip”到遠程代碼執行

本周,安全研究員 RyotaK 解釋了他如何在研究供應鏈攻擊的同時找到一種方法來完全攻擊 Cloudflare 的 CDNJS 網絡。

CDN的全稱是Content Delivery Network,即內容分發網絡。其基本思路是盡可能避開互聯網上有可能影響數據傳輸速度和穩定性的瓶頸和環節,使內容傳輸的更快、更穩定。在維護互聯網的安全性、完整性和可用性方面發揮著關鍵作用,因為絕大多數網站都依賴這些服務來加載流行的 JavaScript 庫和 CSS 腳本。

CDN 可能成為攻擊者的目標選擇,因為如果受到攻擊,攻擊會對許多網站、在線商店及其客戶產生深遠的影響。

在瀏覽 cdnjs.com 時,RyotaK 注意到對于 CDNJS 中尚不存在的庫,他可以建議通過 CDNJS 的 GitHub 存儲庫添加一個新庫。

還原 Cloudflare CDN 漏洞被利用的過程

用戶可以請求將包發布到 CDNJS 的 GitHub 存儲庫

在探索了這個 GitHub 存儲庫以及共同使 CDNJS 生態系統工作的相鄰存儲庫之后,RyotaK 找到了一種方法來誘使服務器執行任意代碼。

特別是,研究人員研究了 cdnjs/bot-ansible 和 cdnjs/tools 中存在的腳本,包括一個自動更新腳本,有助于自動檢索庫更新。

這些腳本會定期使用其開發者在相應 npm 注冊表上發布的較新版本的軟件庫更新 CDNJS 服務器。

換句話說,對于發布到 CDNJS 的 GitHub 存儲庫的每個庫,其更新版本將從鏈接的 npm 注冊表下載,并且 npm 版本也由庫開發者維護。

RyotaK想知道,如果他發布到CDNJS的庫在對應的npm版本中包含路徑遍歷漏洞,會發生什么。注意,npm包是以TGZ (.tar.gz)檔案的形式發布的,可以很容易地使用隱藏在其中的路徑遍歷漏洞來制作。

研究人員首先使用 GitHub 向 CDNJS 發布了一個名為 hey-sven 的測試庫,然后開始在 npm 注冊表上發布更新版本的“hey-sven”。

在發布到 npm 的較新的“hey-sven”版本中,最終將由 CDNJS 的更新機器人處理,研究人員在看起來很奇怪的路徑上注入了 Bash 腳本。

這些不同的路徑只不過是隱藏在 ZIP/TGZ 檔案中的路徑遍歷漏洞,這個概念在 2018 年以“ZIP Slip”方式爆發了。

2018 年 6 月 5 日,Snky 安全團隊公布了一個名為 Zip Slip 的漏洞。這是一個廣泛存在的文件覆蓋漏洞,通過這個漏洞,攻擊者可以利用一個特制的 Zip 壓縮文件,從路徑遍歷覆蓋任意文件,繼而遠程命令執行,發起攻擊。Zip Slip 是以目錄遍歷的一種形式,通過從存檔中提取文件來進行攻擊。目錄遍歷漏洞的前提是攻擊者可以訪問文件系統中應該駐留的目標文件夾之外的部分文件系統。然后,攻擊者可以覆蓋可執行文件并遠程調用它們,或者等待系統或用戶調用它們,從而實現受害者機器上的遠程命令執行。此漏洞還可能通過覆蓋配置文件或其他敏感資源而造成損害,并且可能會在客戶端(用戶)機器和服務器上受到攻擊。

攻擊者主要可以利用保存目錄遍歷文件名的特制檔案文件(例如../../evil.sh)觸發 Zip Slip 漏洞。該漏洞已影響許多存檔的格式,包括 tar、jar、war、cpio、apk、rar 和 7z 等大量的壓縮文件。

目前 Zip Slip 漏洞已經影響了包括阿里巴巴、Google、Oracle、Eclipse、HP、Amazon、Apache、Pivotal、Linkedin 等企業的數千個項目,以及 Java、Ruby、.Net、 Go 等多種語言生態系統,其中 Java 受到的攻擊尤為嚴重,主要是因為它沒有中央倉庫提供高級別歸檔(如 Zip)文件處理。缺乏這樣的庫導致易受攻擊的代碼片段被手工制作,并在諸如 Stack Overflow 等開發者社區中共享。

還原 Cloudflare CDN 漏洞被利用的過程

“hey-sven”庫的 npm 1.0.1 和 1.0.2 版本包含路徑遍歷漏洞

一旦 CDNJS 服務器處理了精心制作的“hey-sven”npm 檔案,這些 Bash 腳本的內容將在服務器上執行。

但是,研究人員不想意外覆蓋現有腳本,因此在概念驗證 (PoC) 測試期間,他首先使用符號鏈接漏洞讀取他即將覆蓋的文件的內容。

由于Git在默認情況下支持符號鏈接,所以可以通過在Git存儲庫中添加符號鏈接來從cdnjs庫更新服務器中讀取任意文件。如果定期執行的腳本文件被覆蓋執行任意命令,自動更新功能可能會被攻擊,所以研究人員決定先檢查任意文件讀取。

一旦攻擊者精心制作的 PoC擊中服務器,RyotaK 就能夠意外地將敏感機密(例如 GITHUB_REPO_API_KEY 和 WORKERS_KV_API_TOKEN)轉儲到 CDN 提供的腳本中,網址為https://cdnjs.cloudflare.com/...

還原 Cloudflare CDN 漏洞被利用的過程

初始符號鏈接 PoC 的輸出為研究人員提供了密鑰

GITHUB_REPO_API_KEY是一個授予寫作權限的API密鑰,使攻擊者能夠修改CDNJS上的任何庫甚至篡改cdnjs.com網站本身。

另一方面,WORKERS_KV_API_TOKEN 秘密可用于篡改存在于 Cloudflare Workers 緩存中的庫。

通過組合這些權限,CDNJS 的核心部分,例如 CDNJS 的原始數據、KV 緩存,甚至 CDNJS 網站,都可以完全被篡改。

Cloudflare 發布了許多修復程序以修復漏洞

研究人員于 2021 年 4 月 6 日通過 HackerOne 的漏洞披露計劃向 Cloudflare 報告了此漏洞,并看到 Cloudflare 的團隊在數小時內應用了間歇性修復。

BleepingComputer 看到的初始修復旨在解決符號鏈接漏洞:

還原 Cloudflare CDN 漏洞被利用的過程

Cloudflare 的 CDNJS (GitHub) 應用的初始修復

然而,根據研究人員的說法,由于 CDNJS 生態系統的復雜性,在接下來的幾周內對不同的存儲庫應用了一系列更具體的修復。

RyotaK與BleepingComputer分享了第一個修復以拒絕Git存儲庫中的符號鏈接為中心,但它只修復了部分問題。

修復人員首先試圖拒絕符號鏈接,但注意到機器人當前的設計太危險了。因此他們隔離了最危險的功能。

對于其他功能,修復人員應用了 AppArmors。

Application Armor 或 AppArmor 是一種安全功能,它使用預定義的配置文件限制在基于 Unix 的環境上運行的程序的功能,以便程序不會無意中超出其預期的訪問范圍。

研究人員還與 Cloudflare 部署的 BleepingComputer 共享了一系列修復程序,以保護自動機器人處理更新的庫:

還原 Cloudflare CDN 漏洞被利用的過程

Cloudflare 對 CDNJS 進行了多項更改以解決該漏洞

雖然這個漏洞可以在沒有任何特殊處理的情況下被利用,但它可能會影響許多網站。鑒于供應鏈中存在許多漏洞,這些漏洞很容易被利用但影響很大。

正如 BleepingComputer 先前報道的那樣,影響數千家在線商店的 Magecart 供應鏈攻擊源于對Volusion 的 CDN 基礎設施的攻擊。

當前文章:還原CloudflareCDN漏洞被利用的過程
文章轉載:http://m.newbst.com/news8/204608.html

成都網站建設公司_創新互聯,為您提供企業網站制作網站排名品牌網站設計自適應網站微信小程序電子商務

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

營銷型網站建設