Http協議基礎
Web技術發展【http://www.cnblogs.com/ProgrammerGE/articles/1824657.html】
靜態WEB【網頁】
動態WEB
- 屬於一種應用程序
- 基於數據庫
- 每個人看到的內容不同
- 根據用戶輸入,返回不同結果
WEB攻擊類型有數百種
WEB攻擊面
1、Network
2、OS
3、WEB Server
4、APP Server
5、Web Application
6、Database
7、Browser
HTTP協議基礎【http://www.cnblogs.com/ksxs/articles/772140.html】
明文協議,無機密安全機制
無內建的機密性安全機制
嗅探或代理截斷可查看全部明文信息
https只能提高傳輸層安全【依然可以做中間人攻擊】
中間人攻擊(僞造證書)【http://www.cnblogs.com/LittleHann/p/3735602.html】
無狀態
每一次客戶端和服務器段的通信都是獨立的過程
WEB應用需要跟蹤客戶端會話(多步通信)
不適用cookie的應用,客戶端每次請求都要重新身份驗證【http://www.cnblogs.com/fish-li/archive/2011/07/03/2096903.html】
##cookie等同與session ID
Session用於在用戶身份驗證後跟蹤用戶行爲軌跡【session會定時失效】
·提高用戶體驗,但增加了攻擊向量
Cycle
請求/響應:
重要的header
Set-Cookie:服務器發給客戶端的SessionID (存在被竊取的風險,可冒充別人身份)
Content-Length:響應body部分的字節長度【用於模糊測試】
Location:重定向用戶到另一個頁面,可識別身份認證後允許訪問的頁面
Cookie:客戶端發回給服務器證明用戶狀態的信息(頭:值成對出現)
Referrer:發起新請求之前用戶位於哪個頁面,服務器基於此頭的安全限制很容易被修改繞過
Host:基於host頭進行安全限制很容易被修改繞過
狀態碼
服務器端響應的狀態碼白鷗時響應的結果類型(5大類50多個具體狀態碼)
查看狀態碼:http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
100s:服務器響應的信息,通常表示服務器還有後續處理,很少出現
200s:請求被服務器成功接受並處理後返回的響應結果
300s:重定向,通常在身份認證成功後重定向到一個安全頁面(301/302)
400s:表示客戶端請求錯誤
1、401:需要身份驗證
2、403:拒絕訪問
3、404:目標未發現
500s:服務器內部錯誤(503:服務不可用)