跨站腳本威脅(Cross Site Scripting) 安全威脅 Cross Site Script(XSS),跨站腳本威脅。攻擊者利用應用程序的動態展示數據功能,在 html 頁面里嵌入惡意代碼。當用戶瀏覽該頁之時,這些嵌入在 html 中的惡意代碼會被 執行,用戶瀏覽器被攻擊者控制,從而達到攻擊者的特殊目的。輸出函數經常使用:echo、print、printf、vprintf、 %=$test% 跨站腳本攻擊有以下三種攻擊形式: (1) 反射型跨站腳本攻擊 攻擊者會通過社會工程學手段,發送一個 URL 連接給用戶打開,在用戶打開頁面的同時,瀏覽器會執行頁面中嵌入的惡意腳本。 (2) 存儲型跨站腳本攻擊 攻擊者利用 web 應用程序提供的錄入或修改數據功能,將數據存儲到服務器或用戶cookie 中,當其他用戶瀏覽展示該數據的頁面時,瀏覽器會執行頁面中嵌入的惡意腳本。所有瀏覽者都會受到攻擊。 (3) DOM 跨站攻擊
這幾種顯示方式,都可能導致用戶瀏覽器把“用戶可控數據”當成 JS/VBS 腳本執行,或頁面元素被“用戶可控數據”插入的頁面 HTML 代碼控制,從而造成攻擊。 解決方案 a) 在 HTML 中顯示“用戶可控數據”前,應該進行 htmlescape 轉義。 復制代碼 代碼如下: htmlspecialchars($outputString,ENT_QUOTES);