ucbug軟件站:安全、綠色、放心的專業(yè)下載站!首頁|最近更新|專題集合|標(biāo)簽云|站內(nèi)導(dǎo)航|加入收藏

360網(wǎng)站安全提示"使用存在漏洞的JQuery版本"解決方法

時(shí)間:2017-03-16 12:04:16來源:ucbug游戲網(wǎng)人氣:0

描述:∵目標(biāo)使用存在漏洞的JQuery版本。jQuery是一個快速、簡潔的JavaScript框架,具有獨(dú)特的鏈?zhǔn)秸Z法和短小清晰的多功能接口;具有高效靈活的css選擇器,并且可對CSS選擇器進(jìn)行擴(kuò)展;擁有便?...

描述:

目標(biāo)使用存在漏洞的JQuery版本。jQuery是一個快速、簡潔的JavaScript框架,具有獨(dú)特的鏈?zhǔn)秸Z法和短小清晰的多功能接口;具有高效靈活的css選擇器,并且可對CSS選擇器進(jìn)行擴(kuò)展;擁有便捷的插件擴(kuò)展機(jī)制和豐富的插件。然而在JQuery的諸多發(fā)行版本中,存在著DOM-based XSS(跨站腳本攻擊的一種)漏洞,易被攻擊者利用??缯灸_本攻擊漏洞,英文名稱Cross Site Scripting,簡稱CSS又叫XSS。它指的是惡意攻擊者向Web頁面中插入一段惡意代碼,當(dāng)用戶瀏覽該頁面時(shí),嵌入到Web頁面中的惡意代碼就會被執(zhí)行,從而達(dá)到惡意攻擊者的特殊目的。

360網(wǎng)站安全提示"使用存在漏洞的JQuery版本"解決方法
危害:

解決方案:

攻擊者可根據(jù)目標(biāo)使用的JQuery版本判斷是否存在XSS漏洞,并構(gòu)造惡意代碼插入目標(biāo)頁面,當(dāng)用戶瀏覽該頁面時(shí),嵌入的惡意代碼就會執(zhí)行,可能會造成Cookie被盜取進(jìn)而引發(fā)更多損失。

方案一:

1.      過濾用戶輸入的內(nèi)容,檢查用戶輸入的內(nèi)容中是否有非法內(nèi)容。如<>(尖括號)、"(引號)、 '(單引號)、%(百分比符號)、;(分號)、()(括號)、&(& 符號)、+(加號)等。

2.      嚴(yán)格控制輸出

可以利用下面這些函數(shù)對出現(xiàn)xss漏洞的參數(shù)進(jìn)行過濾

1、htmlspecialchars() 函數(shù),用于轉(zhuǎn)義處理在頁面上顯示的文本。

2、htmlentities() 函數(shù),用于轉(zhuǎn)義處理在頁面上顯示的文本。

3、strip_tags() 函數(shù),過濾掉輸入、輸出里面的惡意標(biāo)簽。

4、header() 函數(shù),使用header("Content-type:application/json"); 用于控制 json 數(shù)據(jù)的頭部,不用于瀏覽。

5、urlencode() 函數(shù),用于輸出處理字符型參數(shù)帶入頁面鏈接中。

6、intval() 函數(shù)用于處理數(shù)值型參數(shù)輸出頁面中。

7、自定義函數(shù),在大多情況下,要使用一些常用的 html 標(biāo)簽,以美化頁面顯示,如留言、小紙條。那么在這樣的情況下,要采用白名單的方法使用合法的標(biāo)簽顯示,過濾掉非法的字符。

各語言示例:

  PHP的htmlentities()或是htmlspecialchars()。
   Python的cgi.escape()。
   ASP的Server.HTMLEncode()。
   ASP.NET的Server.HtmlEncode()或功能更強(qiáng)的Microsoft Anti-Cross Site Scripting Library
   Java的xssprotect(Open Source Library)。
   Node.js的node-validator。

方案二:使用開源的漏洞修復(fù)插件。( 需要站長懂得編程并且能夠修改服務(wù)器代碼 )