近日,jQuery 1.4.2版本被曝存在嚴(yán)重漏洞,這對(duì)目前使用該版本的網(wǎng)站構(gòu)成了一定的安全威脅。
<script src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
該漏洞主要是由于jQuery 1.4.2版本中的attr方法存在問(wèn)題,在對(duì)HTML標(biāo)簽屬性進(jìn)行處理時(shí),會(huì)導(dǎo)致執(zhí)行JavaScript代碼。攻擊者可以通過(guò)構(gòu)造惡意代碼,將其注入到返回的HTML頁(yè)面中,從而實(shí)現(xiàn)跨站腳本攻擊(XSS)。
<img src="test.html" onerror="alert(document.cookie)"> $(document).ready(function(){ $('img').attr('src','http://evil.com/payload'); });
以上代碼是一種可能的利用方式,攻擊者通過(guò)在img標(biāo)簽中注入JavaScript代碼,當(dāng)img加載失敗時(shí),就會(huì)執(zhí)行onerror事件中的代碼。在jQuery代碼中,使用attr方法將img的src屬性修改為惡意地址,這就會(huì)導(dǎo)致攻擊者構(gòu)造的代碼被執(zhí)行。
針對(duì)該漏洞,網(wǎng)站管理員應(yīng)該及時(shí)升級(jí)到最新版本的jQuery,如1.12.4、2.2.4或3.3.2。同時(shí),還需注意對(duì)用戶輸入的數(shù)據(jù)進(jìn)行過(guò)濾,避免惡意代碼的注入。