HTTP協議基礎
- 靜態WEB
- 動態WEB
- 應用程序
- 數據庫
- 每人看到的內容不同
- 根據用戶輸入返回的不同結果
- Web攻擊類型有數百種
Web攻擊面
- OS------操作系統
- Web Server------服務器端
- App Server------服務器端軟件
- Web Application------中間件軟件
- Database-----數據庫
- Browser------瀏覽器
HTTP協議基礎
- 明文
- 無內建的機密性安全機制
- 嗅探或代理截斷可查看全部明文信息
- https只能提高傳輸層安全
- 無狀態
- 每一次客戶端和服務器端的通信都是獨立的過程
- WEB應用需要跟蹤客戶端會話(多步通信)
- 不適用cookie的應用,客戶端每次請求都要重新身份驗證(不現實)
- Session用于在用戶身份驗證后跟蹤用戶行為軌跡
- 提高用戶體驗,但增加了攻擊向量
- Cycle
- 請求 / 響應
- 重要的header
- Set-Cookie:服務器發送客戶端的SessionID(被竊取的風險)
- Content-Length:響應body部分的字節長度
- Location:重定向用戶到另一個頁面,可識別身份認證后允許訪問的頁面
- Cookie:客戶端發回給服務器證明用戶狀態的信息(頭:值成對出現)
- Referrer:發起請請求之前用戶位于哪個頁面,服務器基于此頭的安全限制很容易被修改繞過
HTTP狀態碼
- 服務端響應的狀態碼表示響應的結果類型(5大類50多個具體響應碼)
- 100S:服務器響應的信息,通常表示服務器還有后續處理,很少出現
- 200S:請求被服務器成功接收并處理后返回的響應結果
- 300S:重定向,通常在身份認證成功后重定向到一個安全頁面(301/302)
- 400S:表示客戶端請求錯誤
- 401:需要身份驗證‘
- 403:拒絕訪問
- 404:目標未發現
- 500S:服務器內部錯誤(503:服務不可用)
狀態碼查看
HTTP/1.1: Status Code Definitions