Chrome和IE的xss過濾器分析總結


chrome的xss過濾器叫xssAuditor,類似IE的xssFilter,但是他們有很大的內在區別

 

chrome xssAuditor工作原理

chrome的xss檢測名稱為 xssAuditor  整合到webkit當中,chrome這么做的原因是因為過濾器可以在腳本執行之前就可以攔截,而且任何使用webkit都可以使用這些規則

當加載網頁時,xssAuditor會在渲染的之前評估用戶的輸入數據:

1.檢查用戶輸入是否包含惡意內容,如果存在進行攔截

2.xssAuditor檢測用戶是否會反射到渲染的頁面中(html實體/html熟悉/javascript/css/url)

3.評估輸入上下文是否合法,非法進行過濾

 

chrome的檢測機理和ie還有很大的區別是,chrome是在此法解析階段進行的,講html解析不同的token(類似php vld opcode),xssAuditor會逐一掃描檢測token,

如果token中發現危險的屬性和URL進行比較,如果URL中也存在同樣的數據,xssAuditor則會認為這是一個反射XSS。

demo:

解析器解析<iframe src="x" onerror="alert(1)"></iframe>

1.依次檢查標簽iframe是否包含惡意屬性,src/onerror

2.如果src不是以javascript:開頭,則安全,放行

3.onerror中含有腳本,檢查URL是否包含

4.如果出現在URL中,認為存在安全問題,將過濾 <iframe src="x" onerror="void(0)"></iframe>

5.中止iframe標簽檢查

 

IE xssFilter工作原理

IE的xssFilter是在IE8 beta2開始的,IE的xss檢測比較粗暴,IE的xssFilter基於正則進行檢測的

具體規則存在位於C:\Windows\System32下的mshtml.dll文件中

我們可以使用如下命令進行查看:

findstr /C:"sc{r}" C:\WINDOWS\SYSTEM32\mshtml.dll|find "{"

 

 每一行為一條規則,如果發現規則的時候將payload替換為#

 本文總結基於《白帽子講瀏覽器安全》


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM