【转】安全测试自学路线图
轉自: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安全測試培訓大綱中的相關內容展示在下面,供大家參考:
5.相關書籍推薦:
- 模糊測試(安全測試新領域):《模糊測試——強制發掘安全漏洞的利器》
- 安全測試相關電子書籍:http://www.besttest.cn/article.php?id=23
?
轉載于:https://www.cnblogs.com/sunada2005/p/3491807.html
總結
以上是生活随笔為你收集整理的【转】安全测试自学路线图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP.NET MVC Routing、
- 下一篇: SiteMesh:一个优于Apache