---
# System prepended metadata

title: XSS
tags: [Enlightened, NISRA, '2020']

---

---
title: XSS
---
# XSS by Halloworld

> [slides](https://slides.com/halloworld/nisra2020-enlightened-xss/fullscreen)
> [slides-課後公布版](https://slides.com/halloworld/xss/fullscreen)
> [課程影片連結](https://youtu.be/WCj3zAKDwyU)

> [slido 匿名發問](https://app.sli.do/event/mayuzmwd/live/questions)(連結已關閉)

---
###### tags: `Enlightened` `NISRA` `2020`
<style>
.navbar-brand::after { content: " × NISRA"; }
</style>

## 網頁の組成
* ### HTML:給網頁一個基礎的長相
* ### CSS:幫網頁化妝 
    - CSS用到極致的例子 ==> [AIS3 報復性聊天室](/@AIS3-2020/chat)
* ### Javascript:
    - 不等於Java，與後端互動，幫網頁做事件觸發、特效
    - 跟python一樣是直譯式語言
    - 可用Console執行

## XSS
* ### 你可以在Console試試這個:)
    - `document.getElementsByTagName('body')[0].innerHTML=""`
* ### XSS reflected(反射型)
    -  讓使用者發出惡意的請求(ex:奇怪ㄉ按鈕)，伺服器將回應後，
       將有害的javascript直接回顯在webpage
    -  需要社交工程 (把惡意連結傳給別人) ==> 想辦法用騙的就對了: )

* ### XSS DOM
    - DOM 全稱為 Document Object Model
    - 一個描述HTML的樹狀結構，讓我們能透過js動態產生網頁，無須透過伺服器
    - 發生原因
        - 沒有詳細檢查資料，使得操作 DOM 的過程帶入了惡意指令
        - 觸發跟反射型類似，只差在DOM渲染的部分
    - 詳情請洽: https://ithelp.ithome.com.tw/articles/10202689

* ### XSS Stored (儲存型)
    - 會將惡意語法存入伺服器資料庫中
    - 常見位置
        - 論壇文章
        - 留言板
    - 能夠將惡意語法常駐
        - 當使用者瀏覽時，能夠直接執行惡意語法，~~讚👍~~
    - XSS GAME
        1. `<scrpit>alert(X)</script>`
        2. `<img src="XXX" onerror="alert(X)">`
        3. `frame#0<onerror="alert(X)"`

