#### XSS
1. 反射型XSS攻擊:危害較小
1. 黑客把帶有惡意腳本代碼參數的URL地址發給用戶
2. 用戶點擊此鏈接
3. 服務器端獲取請求參數并且直接使用,服務器反射回結果頁面、
4. queryparams=<script>alert(88)</script>,服務器直接返回參數腳本導致瀏覽器執行腳本,部分Chrome瀏覽器內置了一些XSS過濾器,可以防止大部分反射型XSS攻擊
5. 反射型XSS是一次性的,需要用戶主動點擊才會執行
2. 存儲型XSS攻擊:危害更大
1. 黑客將惡意腳本代碼上傳或存儲到漏洞服務器
2. 服務器把惡意腳本保存到服務器
3. 當正常用戶訪問服務器時,服務器會返回包含惡意腳本的代碼
4. 案例:留言評論,以及用戶輸入內容提交服務并返回到頁面的情況
5. 案例:獲取用戶的cookie等用戶唯一標識
3. DOM-Based型XSS,不需要服務端參與
1. 頁面追加用戶添加的內/容并追加到頁面上去
4. payload
1. 偽造請求GET POST
2. XSS釣魚,通過向XSS網頁上注入釣魚鏈接,讓用戶訪問假冒的網站
#### XSS防御
1. 給cookie加上httponly屬性,腳本無法獲取
2. 輸入檢查
1. 永遠不要相信用戶的輸入
2. 用戶格式判斷 白名單
3. 過濾危險字符 去除
3. 前端過濾:對輸入的內容進行轉義
4. 后端過濾:后端可以發起請求向服務器添加數據
#### CSRF:跨站腳本攻擊,核心問題在于cookie有效
1. 跨站請求偽造
1. 用戶A登錄銀行網站,登錄成功后響應頭設置cookie
2. 黑客誘導用戶A登錄到黑客的站點,然后返回一個頁面
3. 用戶訪問這個頁面,頁面會偽造一個轉賬請求到銀行網站
#### CSRF防御:主流三種方案
1. 用戶不知情 驗證碼 影響用戶體驗 -> 這種也有問題,爬蟲可以破解驗證碼
2. 跨站請求 使用refer驗證 不可靠,可以使用node進行請求,所以不可靠 || 本站地址外連也會被認為不是本站請求
3. 參數偽造 token最主流的防御CSRF
#### DDOS攻擊:分布式拒絕服務
1. 黑客控制大量的肉雞向受害主機發送非正常請求,導致目標主機耗盡資源不能為合法用戶提供服務
2. 驗證碼能夠有效地防止多次重復的行為
3. 限制請求頻率是我們最常見的針對DDOS攻擊的防御措施,為每個客戶端的請求頻率的限制
4. 增加服務器帶寬
5. 使用主流云系統和CDN(云和CDN其自身有DDOS的防范作用)
6. 優化資源使用提高web server的負載能力
#### HTTP劫持
1. 在客戶端與服務端進行通信的網絡傳輸過程中,HTTP劫持了通信通道,并注入網絡數據報文等信息
2. 通過HTTPS可以解決HTTP劫持的問題