跳到主要內容

Web世界中潛藏的危機 - 跨網站指令碼(XSS)

 

互聯網的時代中我們幾乎都離不開網路,那如果能夠對於Web具備基礎的知識,就能夠讓我們在使用網路的過程中提升風險意識,以減少被竊取、盜用的風險,進而保護個人資產,因此多一份知識在身上也就等於多了一份防身的武器,一天學一點,透過微習慣讓我們享受複利的效應。



在前幾篇我們介紹了「同源政策(Same Origin Policy)」與「Web - 跨來源資源共用(CORS)」的基本概念之後,大致上已經了解瀏覽器如何做個守門員,攔截非法的請求/回應,接下來我們就來談談駭客如何繞過「同源政策(Same Origin Policy)」進行跨站腳本攻擊的XSS(Cross-Site Scripting)。

由於Web越來越豐富,許多動畫、特效都能在Web上完成,這些都歸功於Javascript,但也由於可程式化的便利性,導致駭客可以利用這樣的特性,注入有害的腳本,造成資安風險。

為什麼Cross-Site Scripting要簡稱為XSS呢? 因為避免與CSS混淆,因此簡稱為XSS。

試想,當國家與國家之間透過有限度地開放跨來源資源共用(CORS)時,難免存在一些有心人士,繞過政策進行地下活動,就如同現實世界的偷渡、詐騙皆被搬到Web世界運行,而以下將介紹這樣的攻擊類型有哪些? 對我們來說有什麼危害? 我們身為使用者又應該注意什麼呢?

https://button.like.co/willhanchen

🔔還沒成為Potato會員的朋友點這裡加入哦,撰寫文章還能挖礦打造被動收入 🔔

攻擊的類型有哪些?

儲存型(Stored XSS)



這種類型的攻擊方式就是將惡意的指令碼,注入到網站伺服器進行儲存,而當使用者進到駭客注入的功能區塊時,當滿足特定條件(按下按鈕、觀看圖片...)之後觸發惡意腳本,最常見的例子就是留言版了,這是最普遍能夠輸入文字(指令碼)的入口,並且也會被儲存於資料庫中。

  1. 駭客將惡意代碼寫到網站伺服器儲存的DB。
  2. 使用者打開網站時,載入惡意程式碼。
  3. 惡意程式碼竊取個人資訊或者冒充用戶身分進行深層攻擊。

反射型(Reflected XSS)



  1. 駭客發送夾帶惡意連結的信件,誘導受害者點擊。
  2. 受害者點擊後,導至駭客架設的網站。
  3. 透過連結的參數觸發惡意腳本,進而攻擊、竊取用戶資訊。

有些也會直接夾帶腳本參數如下:

<http://www.domain-1.com/edit?id=><script>alert(1);</script>

可能造成的危害

  • 如果攻擊者僅是惡作劇, 撰寫出一個拖垮資源的腳本, 那麼很可能導致我們的瀏覽器無法正常運作, 導致當機狀態。
  • 身份被冒用, 進入瀏覽過的網站,盜取重要個人資訊。
  • 將使用者瀏覽器導向駭客架設網站, 下載後門程式到使用者電腦。

如何防範?

  • 信件中若有可疑的主旨、內文、附件,就盡量不要直接點擊,可以透過後面的掃描工具進行掃描,確認安全無虞之後再進行下一步。
  • 假設我們身為網站開發者,應該對這樣的攻擊具有基本的認識,並且於輸入的入口使用過濾套件來避免XSS的注入攻擊,原則上就是不要相信使用者的任何輸入。
  • 網站開發者對於Cookie應設定HttpOnly的屬性,避免利用Cookie盜取個人資訊。
  • 設定內容安全策略(CSP),明確的定義哪些內容(HTML、圖片...等)可以被加載,這部分後面的篇章會談到。

幫助我們進行掃描的好工具

以下幾個工具可以讓我們發現到可疑連結時,先丟到這邊進行掃描,若確認安全無誤,在進行點擊,而以下的工具網址,避免讀者們擔心,故將原始網址位置輸出,若有疑慮可以自行Google。

https://button.like.co/willhanchen

🔔還沒成為Potato會員的朋友點這裡加入哦,撰寫文章還能挖礦打造被動收入 🔔

資源參考

留言

這個網誌中的熱門文章

java西元民國轉換_各種不同格式

C#資料庫操作(新增、修改、刪除、查詢)

【Excel好好玩】 自己的資產自己管!善用Google Sheet來幫我們評估貸款

這次介紹的主題是關於Excel的貸款還款計畫試算,我們人生中總會遇到需要大筆金額的花費,但當資金不夠時就得進行貸款,而貸款之前如果我們能夠審慎評估,並分析自己的還款能力之後在進行凍作,相信風險會小很多,因此就自己動動手來使用Google Sheet進行試算吧! 基本資料 ● 貸款總額: 1000000 ● 貸款期數: 84月 ● 年利率: 2.11% ● 月利率: 0.18% P.S 月利率 = 年利率 / 12 重要函式 PMT : 這是Google Sheet內建的重要年金計算公式,我們可以善用這個公式來計算固定利率及期數的固定攤還本息。因為PMT函式計算出的結果為負數,所以前面加上-號轉成正數。 動手做 首先我們在Excel表上列出我們的基本資料 圖片來源 其中月利率的部分就使用公式「=B4/12」 接著我們填上第一列的期數跟餘額 圖片來源 =B2 =B3 使用關鍵PMT函數來計算本息的部分 因為PMT函式計算出的結果為負數,所以前面加上-號轉成正數。 -PMT(貸款利率(月利率), 貸款期數, 貸款總額) =-PMT($B$5,$B$3,$B$2) 圖片來源 計算利息 利息 = 貸款餘額 x 月利率 =B8*$B$5 圖片來源 計算本金 本金 = 本息 - 利息 =C8-D8 圖片來源 製作第二列餘額的部分 餘額的部分 = 上一期的餘額 - 上一期的本金 圖片來源 接著拖曳該兩列往下拉,即可查看每一期的利息與本金 圖片來源 結語 雖然市面上已經有很多貸款銀行都提供了試算功能,但如果我們想要進一步管理自己的資產時,就需要將每一期的金額給計算出來,因此才會將公式運用在Excel表,讓我們的資產管理表能夠結合負債,進一步評估我們理財行動的下一步,希望這樣的經驗可以幫助到正在理財道路上打拼的夥伴,讓我們透過有效的管理,幫助荷包長大吧! 喜歡撰寫文章的你,不妨來了解一下: Web3.0時代下為創作者、閱讀者打造的專屬共贏平台 — 為什麼要加入? 歡迎加入一起練習寫作,賺取知識,累積財富!