⑴ Web測試的主要內容和測試方法有哪些
測試分類:
1、界面測試
1)給用戶的整體感:舒適感;憑感覺能找到想要找的信息;設計風格是否一致
2)各控制項的功能
2、功能測試
1)刪除/增加某一項:是否對其他項造成影響,這些影響是否都正確
2)列表默認值檢查
3)檢查按鈕功能是否正確:新建、編輯、刪除、關閉、返回、保存、導入、上一頁、下一頁、頁面跳轉、重置(常見錯誤)
4)字元串長度檢查:超出長度
5)字元類型檢查
6)標點符號檢查:空格、各種引號、Enter鍵
7)特殊字元:常見%、「、」
8)中文字元:是否亂碼
9)檢查信息完整:查看信息,查看所填信息是否完整更新;更新信息,更新信息與添加信息是否一致
10)信息重復:需唯一信息處,比如重復的名字或ID、重名是否區分大小寫、加空格
11)檢查刪除功能:不選擇任何信息,按Delete,看如何處理;選擇一個或多個進行刪除;多頁選、翻頁選刪除;刪除是否有提示
12)檢查添加和修改是否一致:添加必填項,修改也該必填;添加為什麼類型,修改也該什麼類型
13)檢查修改重名:修改時把不能重名的項改為已存在的內容
14)重復提交表單:一條已經成功提交的記錄,返回後再提交
15)檢查多次使用返回鍵:返回到原來頁面,重復多次
16)搜索檢查:存在或不存在內容,看搜索結果是否正確;多個搜索條件,同時輸入合理和不合理條件;特殊字元
17)輸入信息的位置
18)上傳下載文件檢查:功能是否實現,
上傳:上傳文件是否能打開、格式要求、系統是否有解釋信息、將不能上傳的文件格式修改後綴為可上傳的文件格式;
下載:下載是否能打開、保存、格式要求
19)必填項檢查:必填項未填寫;是否有提示,如加*;對必填項提示返回後,焦點是否自動定位到必填項
20)快捷鍵檢查:是否支持快捷鍵Ctrl+C、Ctrl+V、backspace;對不允許做輸入的欄位(如:下拉選項),對快捷方式是否也做了限制
21)Enter鍵檢查:輸入結束後按Enter鍵,系統如何處理
22)刷新鍵檢查:按瀏覽器刷新鍵如何處理
23)回退鍵檢查:按瀏覽器回退鍵如何處理
24)空格檢查:輸入項輸入一個或多個空格
25)輸入法半形全形檢查:比如,浮點型,輸入全形小數點「。」或「. 」,如4. 5;全形空格
26)密碼檢查:輸入加密方式的極限字元;密碼盡可能長
27)用戶檢查:不同種類管理員用戶的不同許可權,是否可以互相刪除、管理、編輯;一般用戶的許可權;注銷功能,老用戶注銷再注冊,是否為新用戶
28)系統數據檢查:數據隨業務過程、狀態的變化保持正確,不能因為某個過程出現垃圾數據,也不能因為某個過程而丟失數據。
29)系統可恢復性檢查:以各種方式把系統搞癱,測試系統是否可以迅速恢復
30)確認提示檢查:系統更新、刪除操作:是否有提示、取消操作;提示是否准確;事前、事後提示
31)數據注入檢查:對資料庫注入,特殊字元,對sql語句進行破壞
32)時間日期檢查:時間、日期、時間驗證:日期范圍是否符合實際業務;對於不符合實際業務的日期是否有限制
33)多瀏覽器驗證
3、性能測試
1)壓力測試:實際破壞一個Web應用系統,測試系統的反應,測試系統的限制和故障恢復能力
2)負載測試:在某一負載級別上的性能,包括某個時刻同時訪問Web的用戶數量、在線數據處理的數量
3)強度測試:測試對象在性能行為異常或極端條件下(如資源減少或用戶過多)的可接受性,以此驗證系統軟硬體水平
4)資料庫容量測試:通過存儲過程往資料庫表中插入一定數量的數據,看是否能及時顯示
5)預期指標的性能測試:在需求分析和設計階段會提出一些性能指標,對於預先確定的性能要求要首先進行測試
6)獨立業務性能測試:對核心業務模塊做用戶並發測試,包括同一時刻進行完全一樣的操作、同一時刻使用完全一樣的功能
7)組合業務性能測試:模擬多用戶的不同操作,最接近實際用戶使用情況,按用戶實際的實際使用人數比例來模擬各個模塊的組合並發情況
8)疲勞強度性能測試:系統穩定運行情況下,以一定負載壓力來長時間運行系統的測試
9)網路性能測試:准確展示帶寬、延遲、負載、埠的變化是如何影響用戶的相應時間的
10)大數據量性能測試:實時大數據量,模擬用戶工作時的實時大數據量;極限狀態下的測試,系統使用一段時間,積累一段數據量時能否正常運行,以及對前面兩種進行結合
11)伺服器性能測試:在進行用戶並發性能測試、疲勞強度、大數據量性能測試時,完成對伺服器性能的監控,並進行評估
12)一些特殊的測試:配置測試、內存泄漏的一些特殊測試
4、可用性測試(介面測試)
1)整體界面測試
2)多媒體測試
3)導航測試
5、客戶端兼容性
平台測試:windows;unix;macintosh;linux
瀏覽器測試:不同廠商的瀏覽器對Java、Javascript、ActiveX、plug-ins或不同的HTML的規格
不同的支持;框架和層次結構在不同瀏覽器也不同的顯示
6、安全性
安全性測試要求:
1)能夠對密碼試探工具進行防範
2)能夠防範對Cookie攻擊的常用手段
3)敏感數據保證不用明文傳輸
4)能防範通過文件名猜測和查看html文件內容獲取重要信息
5)能保證在網站收到工具後在給定時間內恢復,重要數據丟失不超過1小時
web的性能測試工具:
隨著Web2.0技術的迅速發展,許多公司都開發了一些基於Web的網站服務,通常在設計開發Web應用系統的時候很難模擬出大量用戶同時訪問系統的實際情況。
因此,當Web網站遇到訪問高峰時,容易發生伺服器響應速度變慢甚至服務中斷。
為了避免這種情況,需要一種能夠真實模擬大量用戶訪問Web應用系統的性能測試工具進行壓力測試,來測試靜態HTML頁面的響應時間,甚至測試動態網頁(包括ASP、PHP、JSP等)的響應時間,為伺服器的性能優化和調整提供數據依據。
1、企業級自動化測試工具WinRunner
MercuryInteractive公司的WinRunner是一種企業級的功能測試工具,用於檢測應用程序是否能夠達到預期的功能及正常運行。
2、工業標准級負載測試工具Loadrunner
LoadRunner是一種預測系統行為和性能的負載測試工具
3、全球測試管理系統testdirector
TestDirector是業界第一個基於Web的測試管理系統,它可以在您公司內部或外部進行全球范圍內測試的管理。
4、功能測試工具RationalRobot
IBMRationalRobot是業界最頂尖的功能測試工具,它甚至可以在測試人員學習高級腳本技術之前幫助其進行成功的測試。
它集成在測試人員的桌面IBMRationalTestManager上,在這里測試人員可以計劃、組織、執行、管理和報告所有測試活動,包括手動測試報告。
這種測試和管理的雙重功能是自動化測試的理想開始。
5、單元測試工具xUnit系列
目前的最流行的單元測試工具是xUnit系列框架,常用的根據語言不同分為JUnit(java),CppUnit(C++),DUnit(Delphi),NUnit(.net),PhpUnit(Php)等等。
該測試框架的第一個和最傑出的應用就是由ErichGamma(《設計模式》的作者)和KentBeck(XP(ExtremeProgramming)的創始人)提供的開放源代碼的JUnit.
6、功能測試工具SilkTest
BorlandSilkTest2006屬於軟體功能測試工具,是Borland公司所提出軟體質量管理解決方案的套件之一。
這個工具採用精靈設定與自動化執行測試,無論是程序設計新手或資深的專家都能快速建立功能測試,並分析功能錯誤。
7、性能測試工具WAS
是由微軟的網站測試人員所開發,專門用來進行實際網站壓力測試的一套工具。
透過這套功能強大的壓力測試工具,您可以使用少量的Client端計算機模擬大量用戶上線對網站服務所可能造成的影響。
8、自動化白盒測試工具Jtest
Jtest是parasoft公司推出的一款針對java語言的自動化白盒測試工具,它通過自動實現java的單元測試和代碼標准校驗,來提高代碼的可靠性。
parasoft同時出品的還有C++test,是一款C/C++白盒測試工具。
9、功能和性能測試的工具JMeter
JMeter是Apache組織的開放源代碼項目,它是功能和性能測試的工具,100%的用java實現。
10、性能測試和分析工具WEBLOAD
webload是RadView公司推出的一個性能測試和分析工具,它讓web應用程序開發者自動執行壓力測試;webload通過模擬真實用戶的操作,生成壓力負載來測試web的性能。
(1)web安全測試doc擴展閱讀:
漏洞測試
企業網站做的越來越復雜、功能越來越強。不過這些都不是憑空而來的,是通過代碼堆積起來的。如果這個代碼只供企業內部使用,那麼不會帶來多大的安全隱患。
但是如果放在互聯網上使用的話,則這些為實現特定功能的代碼就有可能成為攻擊者的目標。
天眼舉一個簡單的例子。在網頁中可以嵌入SQL代碼。而攻擊者就可以利用這些SQL代碼來發動攻擊,來獲取管理員的密碼等等破壞性的動作。
有時候訪問某些網站還需要有某些特定的控制項。用戶在安裝這些控制項時,其實就有可能在安裝一個木馬(這可能訪問者與被訪問者都沒有意識到)。
為此在為網站某個特定功能編寫代碼時,就要主動出擊。從編碼的設計到編寫、到測試,都需要認識到是否存在著安全的漏洞。
天眼在日常過程中,在這方面對於員工提出了很高的要求。各個員工必須對自己所開發的功能負責。
已知的病毒、木馬不能夠在所開發的插件中有機可乘。通過這層層把關,就可以提高代碼編寫的安全性。
⑵ Web安全測試的作品目錄
序 1
前言 3
第1章 緒論 13
1.1 什麼是安全測試 13
1.2 什麼是Web應用 17
1.3 Web應用基礎 21
1.4 Web應用安全測試 25
1.5 方法才是重點 26
第2章 安裝免費工具 29
2.1 安裝Firefox 29
2.2 安裝Firefox擴展 30
2.3 安裝Firebug 31
2.4 安裝OWASP的WebScarab 32
2.5 在Windows上安裝Perl及其軟體包 33
2.6 在Linux, Unix或OS X上安裝Perl和使用CPAN 34
2.7 安裝CAL9000 35
2.8 安裝ViewState Decoder 36
2.9 安裝cURL 36
2.10 安裝Pornzilla 37
2.11 安裝Cygwin 38
2.12 安裝Nikto 2 39
2.13 安裝Burp Suite 40
2.14 安裝Apache HTTP Server 41
第3章 基本觀察 43
3.1 查看網頁的HTML源代碼 44
3.2 查看源代碼,高級功能 45
3.3 使用Firebug觀察實時的請求頭 48
3.4 使用WebScarab觀察實時的POST數據 52
3.5 查看隱藏表單域 55
3.6 使用TamperData觀察實時的響應頭 56
3.7 高亮顯示JavaScript和注釋 59
3.8 檢測JavaScript事件 60
3.9 修改特定的元素屬性 61
3.10 動態跟蹤元素屬性 63
3.11 結論 65
第4章 面向Web的數據編碼 66
4.1 辨別二進制數據表示 67
4.2 使用Base-64 69
4.3 在網頁中轉換Base-36數字 71
4.4 在Perl中使用Base-36 71
4.5 使用以URL方式編碼的數據 72
4.6 使用HTML實體數據 74
4.7 計算散列值 76
4.8 辨別時間格式 78
4.9 以編程方式對時間值進行編碼 80
4.11 解碼多重編碼 83
第5章 篡改輸入 85
5.1 截獲和修改POST請求 86
5.2 繞過輸入限制 89
5.3 篡改URL 90
5.4 自動篡改URL 93
5.5 測試對URL長度的處理 94
5.6 編輯Cookie 96
5.7 偽造瀏覽器頭信息 99
5.8 上傳帶有惡意文件名的文件 101
5.9 上傳大文件 104
5.10 上傳惡意XML實體文件 105
5.11 上傳惡意XML結構 107
5.12 上傳惡意ZIP文件 109
5.13 上傳樣例病毒文件 110
5.14 繞過用戶界面的限制 111
第6章 自動化批量掃描 114
6.1 使用WebScarab爬行網站 115
6.2 將爬行結果轉換為清單 117
6.3 減少要測試的URL 120
6.4 使用電子表格程序來精簡列表 120
6.5 使用LWP對網站做鏡像 121
6.6 使用wget對網站做鏡像 123
6.7 使用wget對特定的清單做鏡像 124
6.8 使用Nikto掃描網站 125
6.9 理解Nikto的輸出結果 127
6.10 使用Nikto掃描HTTPS站點 128
6.11 使用帶身份驗證的Nikto 129
6.12 在特定起始點啟動Nikto 130
6.13 在Nikto中使用特定的會話Cookie 131
6.14 使用WSFuzzer測試Web服務 132
6.15 理解WSFuzzer的輸出結果 134
第7章 使用cURL實現特定任務的自動化 137
7.1 使用cURL獲取頁面 138
7.2 獲取URL的許多變體 139
7.3 自動跟蹤重定向 140
7.4 使用cURL檢查跨站式腳本 141
7.5 使用cURL檢查目錄遍歷 144
7.6 冒充特定類型的網頁瀏覽器或設備 147
7.7 以交互方式冒充另一種設備 149
7.8 使用cURL模仿搜索引擎 151
7.9 通過假造Referer頭信息來偽造工作流程 152
7.10 僅獲取HTTP頭 153
7.11 使用cURL發送POST請求 154
7.12 保持會話狀態 156
7.13 操縱Cookie 157
7.14 使用cURL上傳文件 158
7.15 建立多級測試用例 159
7.16 結論 164
第8章 使用LibWWWPerl實現自動化 166
8.1 編寫簡單的Perl腳本來獲取頁面 167
8.2 以編程方式更改參數 169
8.3 使用POST模仿表單輸入 170
8.4 捕獲和保存Cookie 172
8.5 檢查會話過期 173
8.6 測試會話固定 175
8.7 發送惡意Cookie值 177
8.8 上傳惡意文件內容 179
8.9 上傳帶有惡意名稱的文件 181
8.10 上傳病毒到應用 182
8.11 使用Perl解析接收到的值 184
8.12 以編程方式來編輯頁面 186
8.13 使用線程化提高性能 189
第9章 查找設計缺陷 191
9.1 繞過必需的導航 192
9.2 嘗試特權操作 194
9.3 濫用密碼恢復 195
9.4 濫用可預測的標識符 197
9.5 預測憑證 199
9.6 找出應用中的隨機數 200
9.7 測試隨機數 202
9.8 濫用可重復性 204
9.9 濫用高負載操作 206
9.10 濫用限制性的功能 208
9.11 濫用競爭條件 209
第10章 攻擊AJAX 211
10.1 觀察實時的AJAX請求 213
10.2 識別應用中的JavaScript 214
10.3 從AJAX活動回溯到源代碼 215
10.4 截獲和修改AJAX請求 216
10.5 截獲和修改伺服器響應 218
10.6 使用注入數據破壞AJAX 220
10.7 使用注入XML破壞AJAX 222
10.8 使用注入JSON破壞AJAX 223
10.9 破壞客戶端狀態 224
10.10 檢查跨域訪問 226
10.11 通過JSON劫持來讀取私有數據 227
第11章 操縱會話 229
11.1 在Cookie中查找會話標識符 230
11.2 在請求中查找會話標識符 232
11.3 查找Authentication頭 233
11.4 分析會話ID過期 235
11.5 使用Burp分析會話標識符 239
11.6 使用WebScarab分析會話隨機性 240
11.7 更改會話以逃避限制 245
11.8 假扮其他用戶 247
11.9 固定會話 248
11.10 測試跨站請求偽造 249
第12章 多層面的測試 251
12.1 使用XSS竊取Cookie 251
12.2 使用XSS創建覆蓋 253
12.3 使用XSS產生HTTP請求 255
12.4 以交互方式嘗試基於DOM的XSS 256
12.5 繞過欄位長度限制(XSS) 258
12.6 以交互方式嘗試跨站式跟蹤 259
12.7 修改Host頭 261
12.8 暴力猜測用戶名和密碼 263
12.9 以交互方式嘗試PHP包含文件注入 265
12.10 製作解壓縮炸彈 266
12.11 以交互方式嘗試命令注入 268
12.12 系統地嘗試命令注入 270
12.13 以交互方式嘗試XPath注入 273
12.14 以交互方式嘗試伺服器端包含(SSI)注入 275
12.15 系統地嘗試伺服器端包含(SSI)注入 276
12.16 以交互方式嘗試LDAP注入 278
12.17 以交互方式嘗試日誌注入 280
⑶ 如何進行WEB安全性測試
安全性測試
產品滿足需求提及的安全能力
n 應用程序級別的安全性,包括對數據或業務功能的訪問,應
用程序級別的安全性可確保:在預期的安全性情況下,主角
只能訪問特定的功能或用例,或者只能訪問有限的數據。例
如,可能會允許所有人輸入數據,創建新賬戶,但只有管理
員才能刪除這些數據或賬戶。如果具有數據級別的安全性,
測試就可確保「用戶類型一」 能夠看到所有客戶消息(包括
財務數據),而「用戶二」只能看見同一客戶的統計數據。
n 系統級別的安全性,包括對系統的登錄或遠程訪問。
系統級別的安全性可確保只有具備系統訪問許可權的用戶才能
訪問應用程序,而且只能通過相應的網關來訪問。
安全性測試應用
防SQL漏洞掃描
– Appscan
n防XSS、防釣魚
– RatProxy、Taint、Netsparker
nget、post -> 防止關鍵信息顯式提交
– get:顯式提交
– post:隱式提交
ncookie、session
– Cookie欺騙
⑷ web安全測試個人閱讀心得
文章中提到的東西都是工作中實踐過的經驗,並不保證全面性.
Web測試一般包含如下內容:
功能測試
性能測試
用戶界面測試
兼容性測試
安全性測試
其實這只是大概的區分,各種不同的類別的測試之間其實是有很多交集的.比如:
當網站出現性能問題的時候,同時網站的某些功能可能會失效,比如頁面打開失敗,表單提交失敗等等
當網站在一個它不兼容的瀏覽器下運行的時候,也會導致功能失效,用戶界面出現混亂,甚至性能問題
以上的五項內容中的每一項都可以是一個大的主題做深入的分析.
另外,對於所有的web測試人員來說,學會使用Firebug以及Fiddler這樣的抓包工具絕對是必不可少的。這些工具的使用應該始終貫穿的測試工作之中
一.功能測試
對於一般被測試的軟體,我可以用"樹"來比喻一個軟體.一顆樹有主幹,分支和葉子.主幹和分支代表軟體的流程,葉子代表軟體的局部步驟(頁面). 我們測試軟體的時候既要保證軟體的流程正確,也要保證組成流程的各個分支步驟頁面的正確性.
拿淘寶來購物來說,我們可以把登錄頁面,購物車頁面之類的當成是葉子,完成一個購物流程,當成一個主幹或者分支. 軟體就是由這很多的葉子以及相對少一些的分支組成.
經典的教科書上往往會介紹如下功能測試測試用例的設計方法:
邊界值劃分
等價類
正交表
決策表
當我們測試單個頁面的時候,往往會用到這些方法.但是這些方法只是測試到了軟體的局部.
除此之外,我們還要考慮被測試軟體的工作流程,保證所有的提供給用戶的工作流程都可以跑通,這個時候,探索式測試可以派上用場.有時候,我們還需要化流程圖來輔助測試.
關於探索式測試,詳見探索式測試讀書筆記一文
另外,還有更重要的幾點:
每當打開頁面或者提交數據的時候,多打開Fiddler或者Firebug看看到底發送了哪些http請求,以及關鍵請求的http response是什麼.當發現功能異常之後,根據我們用Fiddler看到的數據,往往可以自己判斷問題到底是出在前台的JS還是後台service. 關於Fiddler,詳見Fiddler小結一文
有空多看看系統的日誌,哪裡能找到一些隱藏在頁面之外的異常
當我們在頁面上完成了一些功能之後,要徹底明白系統背後(資料庫)到底完成了什麼東西,我們提交的數據到底被存儲到哪裡去了
綜上所述,我們做功能測試的總體思路是從 點(樹葉)->面(主幹,分支)->後台(根)
二.性能測試
性能測試主要要從前端和後台兩個角度去理解,我們可以首先使用Fiddler去大概判斷網站的性能問題是出在前台還是後台.
如果Http請求的大部分時間是花在html,css,js之類的靜態資源載入上,那麼基本是前台性能有問題.如果某個後台的service特別費時,那麼後台必定存在性能問題
前台性能
除了用Fiddler看性能外,我們可以使用Yahoo的Firefox YSlow插件去檢測前端的性能.此外,關於前端性能具體的優化策略,可以參閱<High Performance Web Sites>,其中主要涉及到http協議和瀏覽器緩存機制
詳見Web前端優化14條原則一文
後台性能
對於大部分測試工程師來說是很難直接去優化後台性能的,但是依然能去發現一些有意義的線索
用Fiddler去查看http請求,如果某個請求特別耗時,則可能存在性能問題
後台代碼設計到SQL查詢的時候,往往測試員也是有基礎去測試那些SQL的查詢時間和執行時間,如果因為數據量大而導致查詢太慢的話,可以建議使用資料庫的索引
後台的cache機制: 我們的項目大量的使用了後台的cache機制
總之,做性能測試絕對不是簡單地直接拿Loadrunner或者Jmeter去錄制一下腳本,然後運行,分析結果.這一切的前提應該是充分了解了被測試系統的前台跟後台的性能
三.用戶界面測試
這點關注不多,主要如下:
字體大小顏色(主要通過修改css文件)
彈窗的風格最好保持統一
四,兼容性測試
主要考慮如下幾個因素組合:
不同的操作系統
不同的瀏覽器
瀏覽器的不同版本
顯示器的不同解析度
不同的瀏覽設備(PC,手機,平板)
五.安全性測試
安全性測試主要知道有如下幾點:
SQL注入:後台使用Preparedstatement去處理SQL
XSS攻擊:這個問題非常復雜.學習中..
做為一個測試工程師,我覺得應該記住如下3點:
前台的JS驗證是不可靠的
用戶進行任何輸入都是有可能的
Web本身似乎也是不安全的:無法解釋更多....
接下去舉一些實際的例子:
隱藏的按鈕
當我們用Firebug看頁面的HTML的時候,往往能找到一些隱藏的內容,比如某個元素的 class="gradient hide",或者類似的東西.當我們直接修改掉這些屬性之後,這些隱藏的東西就會在頁面上暴露出來,對系統的安全造成隱患.
另外如果有某些值也可能會存儲在隱藏域中
Disabled按鈕
與隱藏的按鈕類似,頁面上經常有些可見但是灰調的按鈕,也可以嘗試改變他的屬性,讓它變成可以觸發的,或許會有所發現
不該被訪問的URL
如果某個URL不該被某些人訪問,一定要在許可權上去控制.僅僅去掉某個鏈接/按鈕是不夠的
後台Service
如果網站後台的Service能被捕捉到,而且又沒有許可權控制,那將是災難性的
⑸ web安全測試主要測試哪些內容
一個完整的Web安全體系測試可以從部署與基礎結構,輸入驗證,身份驗證,授權,配置管理配置管理配置管理配置管理,敏感數據,會話管理,加密,參數操作,異常管理,審核和日誌記錄等幾個方面入手
⑹ 如何進行Web滲透測試
什麼是滲透測試?
滲透測試,是滲透測試工程師完全模擬黑客可能使用的攻擊技術和漏洞發現技術,對目標網路、主機、應用的安全作深入的探測,發現系統最脆弱的環節。
如何進行Web滲透測試?
完整web滲透測試框架當需要測試的web應用數以千計,就有必要建立一套完整的安全測試框架,流程的最高目標是要保證交付給客戶的安全測試服務質量。
1、立項:項目建立,時間安排,人力分配,目標制定,廠商介面人確定;
系統分析&威脅分析:針對具體的web應用,分析系統架構、使用的組件、對外提供的介面等,以STRIDE為威脅模型進行對應的安全威脅分析,輸出安全威脅分析表,重點關注top3威脅;
制定測試用例:根據威脅分析的結果制定對應的測試用例,測試用例按照模板輸出,具備可執行性;
測試執行&漏洞挖掘:測試用例執行&發散測試,挖掘對應的安全問題or漏洞;
問題修復&回歸測試:指導客戶應用開發方修復安全問題or漏洞,並進行回歸測試,確保安全問題or漏洞得到修復,並且沒有引入新的安全問題;
項目總結評審:項目過程總結,輸出文檔評審,相關文檔歸檔。
2、Web應用的滲透測試流程
主要分為3個階段,分別是:信息收集→漏洞發現→漏洞利用,下面仔細分析一下各個階段流程:
一、信息收集
在信息收集階段,我們需要盡量多的收集關於目標web應用的各種信息,比如:腳本語言的類型、伺服器的類型、目錄的結構、使用的開源軟體、資料庫類型、所有鏈接頁面,用到的框架等
腳本語言的類型:常見的腳本語言的類型包括:php、asp、aspx、jsp等
測試方法:
1 爬取網站所有鏈接,查看後綴
2 直接訪問一個不存在頁面後面加不同的後綴測試
3 查看robots.txt,查看後綴
伺服器的類型:常見的web伺服器包括:apache、tomcat、IIS、ngnix等
測試方法:
1 查看header,判斷伺服器類型
2 根據報錯信息判斷
3 根據默認頁面判斷
目錄的結構:了解更多的目錄,可能發現更多的弱點,如:目錄瀏覽、代碼泄漏等。
測試方法
1 使用字典枚舉目錄
2 使用爬蟲爬取整個網站,或者使用google等搜索引擎獲取
3 查看robots.txt是否泄漏
使用的開源軟體:我們如果知道了目標使用的開源軟體,我們可以查找相關的軟體的漏洞直接對網站進行測試。
測試方法
指紋識別(網路上有很多開源的指紋識別工具)
資料庫類型:對於不同的資料庫有不同的測試方法。
測試方法
1 使應用程序報錯,查看報錯信息
2 掃描伺服器的資料庫埠(沒做NAT且防火牆不過濾時有效)
所有鏈接頁面:這個跟前面的獲取目錄結構類似,但是這個不只是獲取網站的所有功能頁面,有時候還可以獲取到管理員備份的源碼。
測試方法
1 使用字典枚舉頁面
2 使用爬蟲爬取整個網站,或者使用google等搜索引擎獲取
3 查看robots.txt是否泄漏
用到的框架:很多網站都利用開源的框架來快速開發網站,所以收集網站的框架信息也是非常關鍵的。
測試方法
指紋識別(網路上有很多開源的指紋識別工具)
二、漏洞發現
在這個階段我們在做測試的時候要對症下葯,不能盲目的去掃描,首先要確定目標應用是否使用的是公開的開源軟體,開源框架等、然後在做深一度的漏洞掃描。
關於開源軟體的漏洞發現
開源的軟體:常見的開源軟體有wordpress、phpbb、dedecms等
開源的框架:常見的開源框架有Struts2、 Spring MVC、ThinkPHP等
中間件伺服器:常見的中間件伺服器有jboss、tomcat、Weblogic等
資料庫服務:常見的資料庫服務mssql、mysql、oracle、redis、sybase、MongoDB、DB2等
對於開源軟體的測試方法
1 通過指紋識別軟體判斷開源軟體的版本信息,針對不同的版本信息去開放的漏洞資料庫查找相應版本的漏洞進行測試
2 對於默認的後台登錄頁、資料庫服務埠認證等入口可以進行簡單的暴力破解、默認口令嘗試等操作
3 使用開源的漏洞發現工具對其進行漏洞掃描,如:WPScan
關於自主開發的應用
手動測試:這個階段,我們需要手工測試所有與用戶交互的功能,比如:留言、登入、下單、退出、退貨、付款等操作
軟體掃描:使用免費的軟體掃描,如:appscan、wvs、netsparker,burp等
可能存在的漏洞
Owasp關鍵點
代碼安全之上傳文件
代碼安全之文件包含
代碼安全之SSRF
邏輯漏洞之密碼重置
邏輯漏洞之支付漏洞
邏輯漏洞之越權訪問
平台安全之中間件安全
三、漏洞利用
針對不同的弱點有不同的漏洞利用方式,需要的知識點也比較多。一般這個階段包括兩種方式,一種是手工測試,一種是工具測試
手工測試
手工測試是通過客戶端或伺服器訪問目標服務,手工向目標程序發送特殊的數據,包括有效的和無效的輸入,觀察目標的狀態、對各種輸入的反應,根據結果來發現問題的漏洞檢測技術。手工測試不需要額外的輔助工具,可由測試者獨立完成,實現起來比較簡單。但這種方法高度依賴於測試者,需要測試者對目標比較了解。手工測試可用於Web應用程序、瀏覽器及其他需要用戶交互的程序。
這種方式對於有特殊過濾等操作,或者網路上沒有成型的利用工具的時候可以使用。
工具測試
網路上有很多好用的免費利用工具,比如針對sql注入的sqlmap、針對軟體漏洞的matesploit等。
⑺ 如何系統學習web安全,web滲透測試
首先得清楚web安全/web滲透是什麼:模擬黑客攻擊,利用黑客技術,挖掘漏洞,提出修復建議。
涉及到的技術有:資料庫/網路技術/編程技術/操作系統/滲透技術/攻防技術/逆向技術/SRC漏洞平台/ctf經驗。。
崗位能力要求:
1、熟練使用awvs、nessus、metasploit、burpsuite等安全測試工具,並對其原理有一定了解
2、熟悉OWASP中常見的web安全漏洞、業務邏輯漏洞及其原理
3、熟悉滲透測試技術的整體流程,具備獨立開展滲透工作的能力;
4、熟悉linux系統操作,了解常見web中間件、資料庫、伺服器相關漏洞
5、至少掌握一種編程語言,能夠開發用於輔助日常工作的腳本
6、具備一定的php或java代碼審計能力,能夠對公開漏洞進行分析
7、具備良好的邏輯思維、溝通技巧及團隊協作能力
8、已取得信息安全等級測評師證書的優先。(NISP)
想要系統的學習web滲透,可以參考企業對人才的要求進行學習。
⑻ WEB伺服器安全滲透性測試方案
http://hi..com/zh2089/blog/category/%B1%BE%C8%CB%D4%AD%B4%B4
本人博客的幾篇原創文章,裡面有一些實例,LZ覺得可以的話請給最佳答案
⑼ Web安全測試的內容簡介
《Web安全測試》內容簡介:《Web安全測試》中的秘訣所覆蓋的基礎知識包括了從觀察客戶端和伺服器之間的消息到使用腳本完成登錄並執行Web應用功能的多階段測試。在《Web安全測試》的最後,你將能夠建立精確定位到Ajax函數的測試,以及適用於常見懷疑對象(跨站式腳本和注入攻擊)的大型多級測試。