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