XSS ( Cross Site Scripting ) 前言 會寫這篇是因為,當前的專案遇到了相關的事情,特別寫這篇提醒自己,就算不是自己的部分,也在要檢查與多加留意 XSS 介紹 XSS 攻擊通常指的是通過利用網頁開發時留下的漏洞,通過巧妙的方法注入惡意指令代碼到網頁,使用戶載入並執行攻擊者惡意製造的網頁程式。 這些惡意網頁程式通常是JavaScript,但實際上也可以包括Java,VBScript,ActiveX,Flash或者甚至是普通的HTML。 簡單說就是使用者輸入的資料變成程式的一部份 案例 在專案收尾的時候發現了這段 看起來大概就是,把資料拿出來後在輸出畫面 看起來很簡單可是問題很大 當使用者不懷好意的去存一些JS語法 就會有很多問題 如果畫面是用 .html() 或是 .innerHTML() 的語法 那就會直接帶出 JS 效果 這裡的案例是儲存型 XSS( Stored ) 這種的殺傷力最大 因為存在 DB 裡面 所有的使用者都會中招 像這種惡意代碼 可以分為在 輸入之前 跟 輸出之前 一般建議是 無論如何、輸出端的檢查一定要做 這裡簡單的做個 escapeHTML 當資料輸出時可以先砍掉一些危險的字元 當然不只這些 只是做個大概寫法 參考資料 : [第十二週] 資訊安全 - 常見攻擊:XSS、SQL Injection