【轉】安全測試自學路線圖


轉自:http://www.besttest.cn/article.php?id=168

1. 黑客攻擊流程

 

圖1 黑客攻擊流程

2. web安全測試流程

圖2 web安全測試流程

3. 部分基礎知識

3.1 http協議、狀態碼等

  當我們打開瀏覽器,在地址欄中輸入URL,然后我們就看到了網頁。 原理是怎樣的呢?

  實際上我們輸入URL后,我們的瀏覽器給Web服務器發送了一個Request, Web服務器接到Request后進行處理,生成相應的Response,然后發送給瀏覽器, 瀏覽器解析Response中的HTML,這樣我們就看到了網頁,過程如圖3所示:

 

圖3

我們的Request有可能是經過了代理服務器,最后才到達Web服務器的。過程如圖4所示:

 

圖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安全測試培訓大綱中的相關內容展示在下面,供大家參考:

  1. web安全入手第一步:解析應用程序!
  2. 掩耳盜鈴--繞過客戶端控件的原理及預防
  3. 不能說的秘密--失效的身份驗證機制
  4. 請君入瓮--會話管理劫持
  5. 手把手帶你SQL注入
  6. XPATH定位?這次帶你XPATH注入!
  7. 剝繭抽絲見真相--跨站腳本(XSS)
  8. 卧底的故事:其實我不是XSS--跨站請求偽造(CSRF)
  9. 思維迷宮--邏輯缺陷
  10. 我是灰太狼--社會學攻擊

5.相關書籍推薦:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM