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