Wabow Information Inc. Blog
分類: 技術分享 作者: abu
9 七月 2009『滲透』兩個字,充滿了007諜報員的fu,在冷靜殘酷的背後,以細心縝密的方式取得內部機密文件後,再毫不留情的幹掉對方,甚至是慢慢玩弄對方 ......
在專案製作過程中,接觸到了XSS這個名詞,一個小小的細節,就可能讓用戶的個人資料外流,實在大意不得。
XSS 的全名是Cross Site Scripting(跨網站指令碼),名稱還蠻有趣的,明明就是C開頭,怎不叫CSS呢,因為......CSS 已經被串接樣式表 Cascading Style Sheets 搶先一步,就跟雙胞胎出生一樣,先被抓出來的是哥哥,就算只是晚幾秒鐘,就只能當一輩子的弟弟(有點離題),而XSS是一種網站的安全漏洞攻擊,有心人士透過可自行輸入的資料,值入程式碼,當其他使用者,瀏覽網頁時,不小心開到了有心人士的網頁,就大魚上鉤,任他擺佈了。
XSS的攻擊方式,基本手法就是使用資料包含程式碼,送到後端程式,像是">alert(document.cookie)",另外還有很多測試的語法:
測試語法可參考:
http://anti-hacker.blogspot.com/2007/07/xss.html
測試語法的數量之多,不勝枚舉,總之就是程式碼會以眾多形式出現,跟變形金剛一樣,一下是貨櫃車,一下子又是推土機,只要有創意就可以不斷的變形。主要是透過"編碼",更能讓語法的型態多樣化,當順利值入程式碼後,可以很輕易的將"資料移轉",甚至把整塊餅乾(cookie)都送給別人吃。
在資安論壇(http://forum.icst.org.tw/phpbb/viewtopic.php?f=29&t=15572)提到了簡易避免XSS方法:
課後分享:
在處理所有前台輸入的資料,都要好好過濾所有變數後,才能存入資料庫,另外,若是有變數要放入前台樣板前,也需要過濾過,多重處理,才能確保網站不被XSS攻陷。