摘要:個網(wǎng)站中,有個使用了至少包含有個漏洞的庫。如結(jié)果所顯示的,即便我們只檢測,也有的網(wǎng)站使用了有漏洞的版本。調(diào)研的產(chǎn)品中有的庫使用超過了年。我們本來的預計應該是樂觀的,誰都不想看到有的網(wǎng)站都在用有漏洞的庫。
本文作者: Tim Kadlec
編譯:胡子大哈翻譯原文:http://huziketang.com/blog/posts/detail?postId=58df725ba58c240ae35bb8dc
英文連接:77% of sites use at least one vulnerable JavaScript library
轉(zhuǎn)載請注明出處,保留原文鏈接以及作者信息
前幾周有一篇文章介紹說有 37% 的網(wǎng)站使用了至少包含 1 個漏洞的 JavaScript 庫。當我們寫這個報告的時候,里面提到過,我們預計實際情況會比這個還要更糟。
實際上,要糟的多。
我們在 Alexa 上的 top 5000 網(wǎng)站上跑了測試,發(fā)現(xiàn)數(shù)字達到了驚人的 76.6%,76.6% 的網(wǎng)站使用了至少包含 1 個漏洞的庫。如果你對于我們怎么做的實驗比較好奇,那就繼續(xù)往下看吧。
測試為了做這個測試,我們抓了 Alexa 上 top 5000 的網(wǎng)站 URL。抓的過程中發(fā)現(xiàn)有很多網(wǎng)站已經(jīng)訪問不了了,采取的策略是依據(jù)排名繼續(xù)往下抓,直到夠了 5000 個 URL 為止。
每個 URL 都用 WebPageTest 跑一遍。WebPageTest 在 Chrome 中加載每個頁面,并且執(zhí)行一些 JavaScript 腳本來判斷其使用的 JavaScript 庫。
例如為了判斷使用的 jQuery 版本,每個頁面在加載完成以后都會執(zhí)行下面代碼:
return jQuery && jQuery.fn && jQuery.fn.jquery
包含了檢測是否有下面這些庫:
jQuery
Handlebars
Mustache
React
Angular
Ember
jQueryUI
YI
Dojo
對于每個檢測的版本,都和 Snyk 開源軟件漏洞庫進行對比,以此來看有多少庫包含了已知漏洞。
結(jié)果不美麗正如上面提到的,JavaScript 庫的安全問題非常糟糕——并沒有華麗的外衣掩藏它。5000 個網(wǎng)站中,有 3831 個(76.6%)使用了至少包含有 1 個漏洞的 JavaScript 庫。
比例數(shù)字這么高,聽起來有點嚇人,不過正如原始報告中提的那樣,實際情況可能更糟。我們測試了 9 個 JavaScript 庫,而可用的 JavaScript 框架和庫有成百上千個。所測試的 9 個庫是這里面最流行的幾個,所以比例數(shù)字上應該也不會有很大的躍動,也許和實際情況會有幾個點的差異。
再次強調(diào),這里只是針對客戶端一側(cè),測試已知的第三方 JavaScript 庫漏洞。不包含服務端一側(cè)和自己編寫的 JavaScript 服務。一些新的漏洞都會添加到我們的數(shù)據(jù)庫中,有些可能還沒有對外公開。
jQueryjQuery 毫無疑問是我們測試的里面最流行的一個了,它的流行度是有據(jù)可查的,所有受測的 5000 個 URL 中,有 79% 的使用了 jQuery。
盡管 jQuery 并沒有什么特別的,但是它這么流行也導致了它也成為眾矢之的,研究它漏洞的比較多(有 5 個已知的漏洞,已經(jīng)在最新版本中修復了)。
如結(jié)果所顯示的,即便我們只檢測 jQuery,也有 75.1% 的網(wǎng)站使用了有漏洞的版本。這很大程度上取決于產(chǎn)品中 jQuery 庫使用了多少年。調(diào)研的產(chǎn)品中有 17.4% 的 jQuery 庫使用超過了 5 年。這與我們上一份報告的結(jié)論很吻合:人們并不經(jīng)常更新庫。
最新沒有發(fā)現(xiàn)漏洞的 jQuery 版本是 3.0.0 版本以上的。對于當前的 jQuery 用戶而言,版本變更并不是那么簡單的事情,因為升級很可能會引起 bug,需要系統(tǒng)的整體升級。所檢測的 jQuery 在 1.x 版本的竟然達到了 79% 之高。雖然說 jQuery 3.0.0 才發(fā)布了 1 年左右,但是只有 3.6% 的網(wǎng)站使用了 3.x 版本,這一數(shù)字也確實太低了。
下周我們會對 jQuery 進行深入的分析,因為它實在是太流行了,也使得研究它會比較有趣。
jQuery UI按流行度排的話,下一個就是 jQuery UI 了,受測 URL 中大概占 19.3%。同樣地,大多數(shù)的 jQuery UI 用戶在使用有漏洞的版本,盡管其已經(jīng)可以進行升級了。受測網(wǎng)站中大概 91% 的 jQuery UI 庫都有至少 1 個漏洞。
和 jQuery 一樣,很大程度上因為人們不進行升級,有 21% 的網(wǎng)站使用同 1 個 jQuery UI 版本超過 5 年。
Handlebars受測網(wǎng)站中,Handlebar 占到了 3.4%。 其中的 68% 使用了有漏洞的 Handlebars 版本。
和上面一樣,使用新版本的反應滯后是這一現(xiàn)象的罪魁禍首。從數(shù)據(jù)上來看,Handlebars 新版本的使用還比較流行,Handlebars 的最新版本 4.0.6 我們沒有檢測,檢測的是其前一個版本 4.0.5,可以占到總 Handlebars 使用量的 26.7%。
然而由于它的版本發(fā)布的特別緩慢(自從 2015 年 11 月以來只發(fā)布了兩個小版本),這也導致了這些使用了 Handlebars 的網(wǎng)站,一個版本也用了兩年了。整體上,超過 3 年的 Handlebars 版本占到了 40%。
React, Mustache, Angular, YUI and DojoReact (1.7%), Mustache (1.6%), Angular (1.3%), YUI (0.7%) and Dojo (0.2%) 。受測網(wǎng)站中,這些框架使用的比較少,所以對他們每個個體的分析結(jié)論并不可靠。把它們作為整體來分析的話,有漏洞的情況也很普遍,有 56.3% 的版本都是有漏洞的。
我們得出的有用結(jié)論不可否認,調(diào)研的結(jié)果并不好。我們本來的預計應該是樂觀的,誰都不想看到有 77% 的網(wǎng)站都在用有漏洞的庫。
需要說明的是,沒有一個單一的解決方案可以解決這個問題。相反,需要的是將提高安全意識、使用更好的工具、一套簡單可維護的 JavaScript 前端實現(xiàn)方法等相結(jié)合(前端包管理工具的使用遠不像后端那樣普遍)。而這也僅僅是個開始。
但是,正如我們前面所說的,對此依舊滿懷信心。第三方 JavaScript 的安全問題是一個可解決的問題,只是比預想的需要更長的時間而已。
由于這份報告的數(shù)據(jù)敏感性,我們不準備公開原始數(shù)據(jù)(里面包含了網(wǎng)站列表和易受攻擊的網(wǎng)站)。但是如果你網(wǎng)站主,歡迎聯(lián)系我們查看你的網(wǎng)站是否在這份報告中,以及如果在的話是否在易受攻擊列表中。如果你會使用 npm 包,可以使用 Snyk 測試你的網(wǎng)站,也能幫助你發(fā)現(xiàn)一些潛在的安全漏洞。
如果本文對你有幫助,歡迎關(guān)注我的專欄-前端大哈,定期發(fā)布高質(zhì)量前端文章。
我最近正在寫一本《React.js 小書》,對 React.js 感興趣的童鞋,歡迎指點。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/82368.html
摘要:的網(wǎng)站仍然使用有漏洞庫上周發(fā)布了開源社區(qū)安全現(xiàn)狀報告,發(fā)現(xiàn)隨著開源社區(qū)的日漸活躍,開源代碼中包含的安全漏洞以及影響的范圍也在不斷擴大。與應用安全是流行的服務端框架,本文即是介紹如何使用以及其他的框架來增強應用的安全性。 showImg(https://segmentfault.com/img/remote/1460000012181337?w=1240&h=826); 前端每周清單專注...
摘要:不過,根據(jù)伯克利大學的這篇文章來看,擁有豐富的開源庫,是開發(fā)者在選擇一門開發(fā)語言時,最重要的因素。擁有超過個可用的開源庫,是目前世界上最大的開源庫集合。月份,我們發(fā)布了。這和年的情況是相反的。在的調(diào)查中,超過的受訪者表示他們正在使用。 showImg(https://segmentfault.com/img/bVblvke?w=693&h=300); 原文標題:This year in...
摘要:下面就是對這種攻擊原理的介紹以及預防方法。針對該漏洞的特點,通過覆蓋數(shù)組構(gòu)造函數(shù)以竊取暴露返回數(shù)組,而現(xiàn)在大多數(shù)瀏覽器還無法防范這種攻擊。在上周的挪威開發(fā)者大會上,我做了一個針對劫持漏洞的演示。 注:作者發(fā)表這篇文章的時間較早,某些方法可能并不是最好的解決方案,但針對這種漏洞進行的攻擊還依然可見,如早期的:QQMail郵件泄露漏洞。直到現(xiàn)在,你在某些郵箱打開一個外部鏈妝,依然會有安全警...
摘要:示例攻擊如何進行下圖展示了攻擊者如何進行攻擊攻擊者利用網(wǎng)站的表單插入惡意字符串到網(wǎng)站數(shù)據(jù)庫中。恰恰相反,至少有兩種常見的方式,會導致受害者發(fā)起針對自己的反射型攻擊。攻擊者精心構(gòu)造了一個包含惡意字符串的,將其發(fā)送給受害者。 原文地址:http://excess-xss.com/。如有翻譯不當之處,歡迎指出 :D 分為四部分: 概述 XSS 攻擊 XSS 防御 總結(jié) 第一部分:概述 X...
摘要:近日,一個最新調(diào)研報告預測,中國有望超越美國,成為低代碼應用的領(lǐng)導者,這一結(jié)論再次將低代碼推上了熱榜。全球技術(shù)策略顧問中國區(qū)及首席咨詢師徐昊認為,目前低代碼的推廣普遍以降低程序員門檻為目的,想要說服企業(yè)使用便宜的人力成本去干活的低代碼平臺。近日,一個最新調(diào)研報告預測,中國有望超越美國,成為低代碼應用的領(lǐng)導者,這一結(jié)論再次將低代碼推上了熱榜。 11月2日,由Mendix發(fā)布的全球低代碼發(fā)...
閱讀 4078·2021-10-08 10:04
閱讀 3061·2021-08-11 11:20
閱讀 2731·2021-07-25 21:37
閱讀 2681·2019-08-30 12:44
閱讀 2306·2019-08-30 11:12
閱讀 1314·2019-08-26 13:45
閱讀 2338·2019-08-26 11:53
閱讀 3057·2019-08-26 11:32