一. XSS攻擊簡介
xss(Cross Site Scripting),即跨站腳本攻擊,是一種常見于web應(yīng)用程序中的計算機安全漏洞。指的是在用戶瀏覽器上,在渲染DOM樹的時候,執(zhí)行了不可預(yù)期的JS腳本,從而發(fā)生了安全問題。
XSS就是通過在用戶端注入惡意的可運行腳本,若服務(wù)端對用戶的輸入不進行處理,直接將用戶的輸入輸出到瀏覽器,然后瀏覽器將會執(zhí)行用戶注入的腳本。 所以XSS攻擊的核心就是瀏覽器渲染DOM的時候?qū)⑽谋拘畔⒔馕龀蒍S腳本從而引發(fā)JS腳本注入,那么XSS攻擊的防御手段就是基于瀏覽器渲染這一步去做防御。只要我們使用HTML編碼將瀏覽器需要渲染的信息編碼后,瀏覽器在渲染DOM元素的時候,會自動解碼需要渲染的信息,將上述信息解析成字符串而不是JS腳本,這就是我們防御XSS攻擊的核心想法。
二. 預(yù)防措施
1. 獲取用戶的輸入,不用innerHtml,用innerText;
2. 對用戶的輸入進行過濾,如對& < > " ' /等進行轉(zhuǎn)義。