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