第十五屆 冠軍

security
Beyond XSS:探索網頁前端資安宇宙
huli

系列文章

DAY 1

[Day1] 前端資安比你想的還要多東西

身為一個軟體工程師,對資訊安全一定不陌生。在工作上的專案可能有經過資安的審核,包括靜態程式碼掃描、弱點掃描或是滲透測試等等,再更進階一點可能做過更全面的紅隊演練...

DAY 2

[Day2] 瀏覽器的安全模型

在談網頁前端的資安議題時,我們必須先對網頁前端的核心有個最基礎的認識。 網頁前端最大的不同,就在於程式碼是跑在瀏覽器上面。是瀏覽器負責 render 你的 HT...

DAY 3

[Day3] 前端資安還是得從 XSS 開始談起才對味

在第一篇的序言裡面我有提到前端安全不只有 XSS,還有許多很有趣的東西,但其實光是 XSS 本身就很有趣,也是許多人認知中的「前端資安」,因此還是不免俗地得從...

DAY 4

[Day4] 再多了解 XSS 一點點

上一篇中有提到針對不同的情境,攻擊者會需要調整 XSS payload 才能確保效果,例如說注入點在 innerHTML 的話,用 <script>...

DAY 5

[Day5] 危險的 javascript: 偽協議

前一篇中有提到各種 XSS 情境以及執行程式碼的方式,講到了一種叫做 javascript: 偽協議的東西,我覺得這個就算放在現代前端的角度來看,也是開發者需要...

DAY 6

[Day6] XSS 的第一道防線:Sanitization

講完了 XSS 的各種基本知識以及攻擊手法,該來談一下防禦了。從這篇開始會正式進入到第二章:「XSS 的防禦方式以及繞過手法」。 之前在講 XSS 的防禦時其實...

DAY 7

[Day7] XSS 的第二道防線:CSP

XSS 的第一道防線就是把使用者的輸入處理乾淨,確保內容是沒有問題的。但說起來容易,做起來難,尤其是對一些 legacy 的專案來講,程式碼又亂又雜又多,要修哪...

DAY 8

[Day8] XSS 的第三道防線:降低影響範圍

在第一道防線中,我們對使用者的輸入做了處理,盡可能確保使用者的輸入有經過編碼或是消毒,不要讓他們插入惡意的內容,而第二道防線則是 CSP,靠著 CSP 的規則,...

DAY 9

[Day9] 最新的 XSS 防禦:Trusted Types 與內建的 Sanitizer API

在講 XSS 的防禦時,我有提到要處理使用者的輸入,如果原本就允許 HTML,那需要找個好用的套件設定規則去處理。 這些需求其實有很多網站都會需要,因此瀏覽器也...

DAY 10

[Day10] 繞過你的防禦:常見的 CSP bypass

之前有提過開發者可以設置 CSP 當作守護網站的第二道防線,讓攻擊者就算能夠插入 HTML,也不能執行 JavaScript,大幅降低了影響程度。由於 CSP...