圖4
HTTP是一個屬於應用層的面向對象的協議,因爲其簡捷、快速的方式,適用於分佈式超媒體信息系統。它於1990年提出,通過幾年的使用與發展,獲得不斷地完善和擴展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的規範化工做正在進行之中,並且HTTP-NG(Next Generation of HTTP)的建議已經提出。
HTTP協議的主要特色可歸納以下:
1.支持客戶/服務器模式。
2.簡單快速:客戶向服務器請求服務時,只需傳送請求方法和路徑。請求方法經常使用的有GET、HEAD、POST。每種方法規定了客戶與服務器聯繫的類型不一樣。因爲HTTP協議簡單,使得HTTP服務器的程序規模小,於是通訊速度很快。
3.靈活:HTTP容許傳輸任意類型的數據對象。正在傳輸的類型由Content-Type加以標記。
4.無鏈接:無鏈接的含義是限制每次鏈接只處理一個請求。服務器處理完客戶的請求,並收到客戶的應答後,即斷開鏈接。採用這種方式能夠節省傳輸時間。
5.無狀態:HTTP協議是無狀態協議。無狀態是指協議對於事務處理沒有記憶能力。缺乏狀態意味着若是後續處理須要前面的信息,則它必須重傳,這樣可能致使每次鏈接傳送的數據量增大。另外一方面,在服務器不須要先前信息時它的應答就較快。
Response消息中的第一行叫作狀態行,由HTTP協議版本號, 狀態碼, 狀態消息 三部分組成。
狀態碼用來告訴HTTP客戶端,HTTP服務器是否產生了預期的Response.
HTTP/1.1中定義了5類狀態碼, 狀態碼由三位數字組成,第一個數字定義了響應的類別
- 1XX 提示信息-表示請求已被成功接收,繼續處理
- 2XX 成功-表示請求已被成功接收,理解,接受
- 3XX 重定向-要完成請求必須進行更進一步的處理
- 4XX 客戶端錯誤- 請求有語法錯誤或請求沒法實現
- 5XX 服務器端錯誤- 服務器未能實現合法的請求
3.2數據庫基礎知識
安全測試中常利用數據庫的漏洞來進行注入等操做,因此基本的數據庫知識是必備的。
3.3必定的代碼能力
安全測試每每夾雜着不少白盒類代碼審查工做,須要測試人員擁有必定的代碼閱讀能力,同時,安全測試核心在「教開發人員編安全的代碼」,因此既要會測試,又要了解代碼修改方式,這也要求了須要有必定的代碼能力。
除此之外可能會綜合用到不少軟件領域的知識,例如要探測系統中的邏輯漏洞,那麼必定要求測試人員擁有必定的需求分析能力和設計能力;不少時候咱們須要用到不少工具,包括Burpsuite、webscarab等工具,所以也要求測試人員掌握這些工具的使用和特色,取長補短,共同構建你的測試方案。
4.安全測試原理
這一部分是咱們去測試系統安全的核心所在,這裏不作詳細敘述,須要你們本身去努力學習,不過把besttest安全測試培訓大綱中的相關內容展現在下面,供你們參考:
- web安全入手第一步:解析應用程序!
- 掩耳盜鈴--繞過客戶端控件的原理及預防
- 不能說的祕密--失效的身份驗證機制
- 請君入甕--會話管理劫持
- 手把手帶你SQL注入
- XPATH定位?此次帶你XPATH注入!
- 剝繭抽絲見真相--跨站腳本(XSS)
- 臥底的故事:其實我不是XSS--跨站請求僞造(CSRF)
- 思惟迷宮--邏輯缺陷
- 我是灰太狼--社會學攻擊
5.相關書籍推薦:
- 模糊測試(安全測試新領域):《模糊測試——強制發掘安全漏洞的利器》
- 安全測試相關電子書籍:http://www.besttest.cn/article.php?id=23