記錄一次http協議學習過程

Web技術發展

1.靜態Web

  • 攻擊手段都是針對Web應用程序,lls服務,apache等程序

2.動態Web

  • 動態Web最大的特點就是可以接受客戶端提交的數據,,根據用戶的輸入返回不同的結果,從而實現各式各樣的應用。

  • 針對web應用程序代碼進行尋找漏洞,從而攻擊等等。

動態Web攻擊面

  • Network
  • Os
  • Web server
  • App server
  • Web application
  • Database
  • Browser

http協議

1.明文

  • 沒有任何內建的機密性安全機制,完全以明文的方式傳輸信息不管是客戶端的請求,還是服務端的返回,全部都是明文傳輸。

  • 在相關的節點上進行嗅探或代理截斷可查看全部明文信息

  • https只能對傳輸過程進行加密,對應用程序段以及服務端的漏洞完全是無能爲力的

2.無狀態

  • 每一次 客戶端和服務端的通信都是獨立的過程

  • Web狀態需要跟蹤客戶端會話(多步通信)

  • 不使用cookie的應用,客戶端每次請求都要重新進行身份驗證,訪問一個頁面提交一次驗證碼,導致沒人使用。

  • Session用於在用戶身份驗證後跟蹤用戶的行爲軌跡(保持回話使用到的),session id從某種意義上來說等同於cookie,實際上cookie可以存放session id,真正的session是存放在服務端的,客戶端拿到的只是一個session id 。

3.http協議基礎

Cycle

  • HTTP請求或響應,一請求一響應就構成了http的基本單元,通常把這個單元叫做cycle

Header頭部信息

  • 客戶端發出請求的時候通常都會帶着標準的http頭,服務端響應的時候也會有http頭,請求和響應都是由header及body組成的,一次請求都會包含多個http頭部分

  • Set-cookie:服務端發給客戶端的session id,session id就是放在set-cookie這個頭裏面(存在容易被盜取的風險)

  • Content-length :響應body部分的字節長度(已經排除header部分的字節)

  • Location:重定向用戶到另一界面,可識別身份認證 後允許訪問的頁面

  • Cookie:客戶端發回給服務器證明用戶狀態信息的(頭:值 成對出現,一個頭對應一個值)

  • Referrer:發起新的請求之前,表示用於位於的上一個頁面是哪裏,服務器基於此頭的安全限制很容易被修改繞過(因爲這個頭是由客戶端來發送的,可以認爲進行修改)

4.狀態碼

服務端響應的狀態碼錶示響應的結果類型(5大類50多個具體響應碼)

  • 100s:服務器響應的信息,通常表示服務器還有後續的處理,很少出現

  • 200s:請求服務器成功接收並處理後返回的響應結果

  • 300s:重定向,通常在身份認證成功後重定向到一個安全界面(301/302)

  • 400s:表示客戶端請求錯誤

    • 401:需要身份認證
    • 403:拒絕訪問
    • 404:目標未發
  • 500s:服務器內部錯誤(服務不可用)

  • 跟多的狀態碼可以去該網站查詢:http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

  • 想要了解http訪問流程的可以移步這個文章https://blog.csdn.net/weixin_44344395/article/details/103386625

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章