淺談 XSS (Cross-Site Scripting) 攻擊
何謂 XSS (Cross-Site Scripting) 攻擊?
XSS,全稱為 Cross-Site Scripting(跨網站指令碼),是一種攻擊者透過植入的惡意腳本來攻擊使用者瀏覽器的攻擊手法。攻擊者會藉由各種手段將惡意腳本注入網頁,當受害者訪問這些網頁時,惡意腳本就會在使用者的瀏覽器中被執行。
由於這種 XSS 攻擊的惡意程式碼試運行在受害者的瀏覽器環境上,因此,用更專業的詞彙來說,Cross-site scripting 是一種用戶端程式碼插入攻擊。
XSS攻擊之所以被稱為 "跨站腳本" 攻擊,其核心在於它巧妙地利用了網站對用戶輸入的信任機制,從而繞過瀏覽器的同源政策。這種攻擊的獨特之處在於:
- 信任的濫用:雖然惡意腳本可能源自外部,但因為它是通過受信任的用戶 "代理" 提交的,所以在網站看來,這個腳本仍然是來自 "可信來源"。
- 繞過防禦:這種方式巧妙地規避了同源政策的限制。因為從網站的角度來看,這個腳本是在它自己的域內執行的,而非來自外部網站。