因為怕跟 CSS (階層樣式表) 撞名
所以才把開頭改成了 X
該攻擊通常為網頁開發時存在可將特定輸入直接放在網頁上
導致可輸入一些 HTML and Javascript 語法且被網頁解析
造成使用者瀏覽網頁時觸發這些惡意語法使得攻擊者可竊取 Cookie 等重要資訊
或執行一些更高權限的操作
在介紹 XSS 前
我們先來認識一些東西
兩者都是用來驗證使用者身分的機制
Cookie | Session | |
---|---|---|
儲存位置 | 本地 | 伺服器 |
安全性 | 低 | 高 |
也因為 cookie 存在本地端
如果只使用這個拿來驗證使用者身分
將很容易偽造另一個使用者的身分
也被稱為 one-click attack 因為你真的只要點一下就中招了XD
意思是攻擊者利用惡意網頁的對參數保護的不當
造成可以利用 URL 執行一些特殊權限操作
導致今天受害者點擊此連結就會利用他的身分去執行這項操作
也因為這種特性也可能被 XSS 利用網址轉址來達成這項攻擊
innerHTML()
) 將字串呈現於網頁上從上面看到
這三種不同的攻擊方式都有一個共通點
就是 "未對使用者輸入進行過濾就直接秀出來"
沒錯,XSS 的成因最主要就是這個
所以請大家記得再懶惰也至少把任何輸入中的角括號<>
編碼掉或是直接濾掉喔 ~