Cross-Site Scripting 攻擊

Cross-Site Scripting 攻擊

更新於 發佈於 閱讀時間約 2 分鐘

Cross-Site Scripting簡稱XSS,它指的是駭客在網頁裡插入惡意程式碼,當其他user瀏覽該網頁時,惡意網頁程式碼就會被執行。

舉例來說,假如有一個留言板,駭客故意留了一段javascript程式碼,如果這個網站沒有預防,這段程式碼就會被塞到DB裡,下次有user來瀏覽的時候,留言被query出來,而這段js就會被瀏覽器執行了。

以下透過程式碼來模擬:


正常使用的情況下,看起來就是個簡單的留言板。

raw-image

但是如果我故意留一段js程式碼,然後送出。

raw-image

這段留言就被塞進DB了:

raw-image

然後現在我重整這頁,這段js被執行了。

raw-image
raw-image

這還不打緊,因為只是show出一段文字而已,但若是改成這樣呢?

raw-image

這張圖片就會被塞到DB,query出來長這樣:

raw-image
raw-image

hack.php長這樣(這邊就簡單收到而已,因為我不想做壞事XD):

raw-image

這時候就GG了,看起來是一張顯示不出來的圖片而已,其實背後已經把你的cookie資料送到駭客手中了,駭客可以把這些資料儲存起來,cookie可能有敏感資料在裡面,例如你登入的session id,他就可以偽造是你的身分存取網站,這又稱為CSRF攻擊!

下一篇將介紹如何防禦XSS攻擊。


本筆記參考:
1.https://www.itread01.com/content/1545051098.html
2.https://codertw.com/%E5%89%8D%E7%AB%AF%E9%96%8B%E7%99%BC/46727/

avatar-img
Vic Lin的沙龍
21會員
161內容數
留言
avatar-img
留言分享你的想法!
Vic Lin的沙龍 的其他內容
父元件 傳遞方法使用@ <template>    ...    <Login @modalClose="modalClose"/> ... </template> <script setup>     const _modal = ref();     function m
前情提要 由於我的筆電已經用了10年,無法再戰下去了,且有預算考量,加上使用電腦幾乎都是定點,只有偶爾回家的時候會需要攜帶,因此最終選擇了迷你電腦,體積小不占空間,又方便攜帶,剛好符合我的需求。 菜單 由於這台無法裝獨顯,所以CPU的部分選擇 AMD R5 3400G(含Vega 11內
Nuxt3中可使用useFetch來獲取數據,不須再引用axios,相當方便: 本筆記參考: https://juejin.cn/post/7104071421160063012 https://juejin.cn/post/7086472647575339045
父元件 傳遞方法使用@ <template>    ...    <Login @modalClose="modalClose"/> ... </template> <script setup>     const _modal = ref();     function m
前情提要 由於我的筆電已經用了10年,無法再戰下去了,且有預算考量,加上使用電腦幾乎都是定點,只有偶爾回家的時候會需要攜帶,因此最終選擇了迷你電腦,體積小不占空間,又方便攜帶,剛好符合我的需求。 菜單 由於這台無法裝獨顯,所以CPU的部分選擇 AMD R5 3400G(含Vega 11內
Nuxt3中可使用useFetch來獲取數據,不須再引用axios,相當方便: 本筆記參考: https://juejin.cn/post/7104071421160063012 https://juejin.cn/post/7086472647575339045