1.WEB技術:
- 靜態WEB
- 動態WEB:
- 應用程序
- 數據庫
- 每人看到的內容不同
- 根據用戶輸入返回不同結果
2.WEB攻擊面:
從web來說,應該從整體上考慮在整個web訪問、構建構成中,需要哪些環節,然后在針對每個環節進行分析:
- Network:網絡
- OS
- WEB Server
- App Server
- Web Application
- Database
- Browser
3.HTTP協議基礎
3.1 明文傳輸
- 無內建的機密性安全機制
- 嗅探或代理階段可查看全部明文信息
- https只能提高傳輸層安全(可以通過中間人劫持,將加密數據流一分為二,由中間人構造證書接收client請求,并由中間人在發給server,接收也是一分為二的過程)
3.2 無狀態
- 每一次客戶端和服務器端的通信都是獨立的過程
- WEB由于需要跟蹤客戶端會話(多步通信)
不適用cookie的應用,客戶端每次請求都要重新身份驗證(不太實際)(cookie可以存放session id,與session不是一個概念) - Session用于在用戶身份驗證后跟蹤用戶行為軌跡(提供用戶體驗,但增加了攻擊向量)
3.3 Cycle單元
請求/響應:一個http基本的單元就是一個請求對應一個響應
3.4 重要的header
- server響應header
- Set-Cookie:服務器發給客戶端的Sesssion ID(Session ID的值放在Set-Cookie字段里返回給客戶端,存在被竊取的風險)
- Content-Length:響應body部分的字節長度(暴力破解中,根據server返回給client返回頁面的長度,可以判斷是否破解成功)
- Location:重定向到另一個頁面,可識別身份認證后允許訪問的頁面(用戶登錄成功后看到的頁面)
- client請求header
- Cookie:客戶端發回給服務器證明用戶狀態的信息(頭=值,成對出現)
- Referrer:發起新請求之前用戶位于哪個頁面,服務器基于此頭的安全限制很容易被修改繞過
3.5 狀態碼
服務端響應的狀態碼表示響應的結果類型(5大類50多個具體響應碼)
- 100s:服務器響應的信息,通常表示服務器還有后續處理,很少出現
- 200s:請求被服務器成功接受并處理后返回的響應結果
- 300s:重定向,通常在身份認證成功后重定向到一個安全頁面(301永久重定向/302臨時重定向)
- 400s:表示客戶端請求錯誤
- 401:需要身份驗證
- 402:拒絕訪問
- 404:目標未發現
- 500s:服務器內部錯誤(503:服務不可用)