跨站點腳本攻擊,指攻擊者通過篡改網頁,嵌入惡意腳本程序,在用戶瀏覽網頁時,控制用戶瀏覽器進行惡意操作的一種攻擊方式。
假設頁面上有一個表單
<input type="text" name="name" value="tom"/>
如果,用戶輸入的不是一個正常的字符串,而是
"/><script>alert("haha")</script><!-
此時,頁面變成下面的內容,在輸入框 input 的后面帶上了一段腳本代碼。
<input type="text" name="name" value="Lusifer"/><script>alert("haha")</script><!-"/>
這端腳本程序只是彈出一個消息框,并不會造成什么危害,攻擊的威力取決于用戶輸入了什么樣的腳本,只要稍微修改,便可使攻擊極具攻擊性。
如何防范 XSS 攻擊
- 前端,服務端,同時需要字符串輸入的長度限制。
- 前端,服務端,同時需要對html轉義處理。將其中的 < ,> 等特殊字符進行轉義編碼。