那些有關專案遇到 XSS 的事情

 



XSS ( Cross Site Scripting )


前言

會寫這篇是因為,當前的專案遇到了相關的事情,特別寫這篇提醒自己,就算不是自己的部分,也在要檢查與多加留意


XSS 介紹

XSS攻擊通常指的是通過利用網頁開發時留下的漏洞,通過巧妙的方法注入惡意指令代碼到網頁,使用戶載入並執行攻擊者惡意製造的網頁程式。 這些惡意網頁程式通常是JavaScript,但實際上也可以包括Java,VBScript,ActiveX,Flash或者甚至是普通的HTML。

簡單說就是使用者輸入的資料變成程式的一部份

案例

在專案收尾的時候發現了這段



看起來大概就是,把資料拿出來後在輸出畫面

看起來很簡單可是問題很大

當使用者不懷好意的去存一些JS語法

就會有很多問題

如果畫面是用 .html() 或是 .innerHTML() 的語法

那就會直接帶出 JS 效果

這裡的案例是儲存型 XSS( Stored )

這種的殺傷力最大 因為存在 DB 裡面

所有的使用者都會中招

像這種惡意代碼

可以分為在 輸入之前輸出之前

一般建議是 無論如何、輸出端的檢查一定要做

這裡簡單的做個 escapeHTML



當資料輸出時可以先砍掉一些危險的字元

當然不只這些 只是做個大概寫法



留言

這個網誌中的熱門文章

Ruby Const_defined?