小白學習安全測試(一)——Http協議基礎

weixin_33896726發表於2017-07-31

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

 

相關文章