HTTP協議基礎

Web宏觀攻擊

一個動態Web的宏觀攻擊能夠分爲如下幾種:web

  • Network
  • OS
  • Web Server Web服務器端
  • APP Server 移動服務器端
  • Web Application Web應用程序
  • Database 數據庫,好比sql注入
  • Browser 瀏覽器,好比同源策略,沙箱技術

當今的web攻擊類型有幾百種,但大部分是針對Web應用程序和數據庫的攻擊。sql


HTTP協議基礎

明文

HTTP協議是明文協議,無內建的機密性安全機制,簡單的嗅探或代理截斷即可查看所有明文信息。
而HTTPS也只是對傳輸的過程進行了加密而已,不表明整個數據流的傳遞過程都是安全的,只是提升了傳輸層的安全而已,對於任意節點都是能夠發起攻擊。(好比中間人攻擊,對網絡傳輸的任意節點劫持,而後更改網絡數據後再投放到網絡中去。)數據庫

無狀態

每一次客戶端和服務器端的通訊都是獨立的過程,http協議是不可跟蹤用戶行爲信息的,可是web應用倒是須要跟蹤客戶端會話(既是多步通訊),此時便須要cookie和session的概念了。
服務器經過cookie來驗證用戶,而後使用sesison用於在用戶身份驗證後跟蹤用戶行爲軌跡。如果不使用cookie那麼客戶端的每次請求都要進行身份驗證,顯然這是不現實的。
基本上session id和cookie是等同的,客戶端能夠拿到的是session id。瀏覽器

HTTP header

一次http請求會包含多個header信息,這裏只瞭解與安全相關的header信息。安全

  • Set-Cookie:服務端發送給客戶端的Session ID(存在被竊取的風險)
  • Content-Length:響應body部分的字節長度,應用場景:用於驗證表單暴力破解web帳號登錄密碼是否成功。
  • Location:重定向用戶到另外一個頁面,可識別身份認證後容許訪問的頁面。

前三個都是響應頭,下面是經常使用的請求頭服務器

  • Cookie:客服端發回給服務器證實用戶狀態的信息(使用鍵值對的形式存放 cookie1:data;cookie2:data...)
  • Referrer:發起新請求以前用戶位於哪一個頁面,服務器基於此頭的安全限制很容易被修改繞過。

狀態碼

服務器端響應的狀態碼錶示響應的結果類型,5大類50多個具體響應碼。
它們分別是100系列,200系列,300系列,400系列,500系列。cookie

  • 100:服務器響應的信息,一般表示服務器還有後續處理,基本不會單獨出現。
  • 200:請求被服務器成功接受並處理後返回的響應結果。
  • 300:重定向,一般再身份認證成功後重定向到一個安全頁面(301:表示永久重定向,302臨時重定向)
  • 400:表示服務器不接受客客戶端,客服端請求錯誤:
  • 401:表示須要身份認證。
  • 403:表示拒絕訪問,不具有訪問權限,文件夾存在。
  • 404:目標未發現,文件或文件夾不存在。
  • 500:服務器內部錯誤(503:表示服務不可用)

固然狀態碼遠遠不至於這些,能夠經過https://www.w3.org/,這個網站...網絡

相關文章
相關標籤/搜索