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:服務不可用)