1. 程式人生 > >AppScan 掃描測試策略(轉)

AppScan 掃描測試策略(轉)

原文地址:http://www.cnblogs.com/Lam7/p/7095243.html

針對大型網站的掃描,我們按照戴明環 PDCA 的方法論來進行規劃和討論,建議 AppScan 使用步驟:計劃(Plan)、執行(Do)、檢查(check)、分析(Analysis and Action)。

  1. 在計劃階段:明確目的,進行策略性的選擇和任務分解。
    1. 明確目的:選擇合適的掃描策略
    2. 瞭解物件:首先進行探索,瞭解網站結構和規模
    3. 確定策略:進行對應的配置
    4. 按照目錄進行掃描任務的分解
    5. 按照掃描策略進行掃描任務的分解
  2. 執行階段:一邊掃描一遍觀察
    1. 進行掃描
    2. 先爬後掃(繼續僅測試)
  3. 檢查階段(Check)
    1. 檢查和調整配置
  4. 結果分析(Analysis)
    1. 對比結果
    2. 彙總結果(整合和過濾)

下面我們針對每個階段,進行具體的闡述。

準備階段

AppScan 安裝環境要求和檢查

為了保證更好的掃描效果,安裝 AppScan 的硬體建議配置如下:

表 1. Rational AppScan 安裝配置要求
1234處理器       Pentium P4,2.4 GHz記憶體           2 GB RAM磁碟空間          30 GB網路           1 NIC 100 Mbps(具有已配置的 TCP/IP 的網路通訊) 

  其中,處理器和記憶體建議越大越好,而磁碟空間,建議系統盤(一般是 C 盤)磁碟空間至少保留 10G,如果系統盤磁碟空間比較少,可以考慮把使用者檔案等儲存在其他盤;如預設的使用者檔案是:C:\Documents and Settings\Administrator\My Documents\AppScan;可以修改為其他路徑。該路徑可以在選單欄中依次選擇工具 - 選項 - 一般 - 檔案位置

部分修改。

磁碟要求:修改臨時檔案路徑

有時候大家會發現,已經把上面的地址都修改到了其他盤,但是在掃描過程中,還是會發現 C 盤的空間快速被消耗,分析原因,是因為很多臨時檔案都儲存在 C 盤,AppScan 中有一個隱藏的引數 APPSCAN_TEMP 來設定臨時檔案位置。在掃描過程中,如果系統盤空間比較下,可以通過修改系統變數來修改到其他硬碟空間。

臨時檔案位置說明:描述正常操作期間 AppScan 將其臨時檔案儲存到的位置。預設情況下,AppScan 將其臨時檔案儲存在以下位置:

C:\Documents and Settings\All Users\Application Data\IBM\Rational AppScan\temp

如果需要修改此預設位置,請按照要求編輯環境變數 APPSCAN_TEMP 的路徑。(訪問環境變數的方法是,右鍵單擊我的電腦,然後依次選擇屬性 > 高階 > 環境變數。)

注意:在新位置的路徑中絕不能有任何 Unicode 字元。

修改 AppScan 中的臨時檔案:

  1. 桌面上滑鼠右鍵選擇“我的電腦”,選擇“屬性”
  2. 選擇“高階”,“環境變數”
  3. 增加一個新的“使用者環境變數”,名字是“APPSCAN_TEMP”,設定路徑,指向您希望儲存臨時檔案的目錄。

計劃階段

在計劃階段,首先明確幾個問題:

  1. 關心哪些型別的安全問題,根據這些安全問題來設定掃描規則。
  2. 要掃描的網站地址,網站的業務特點。

掃描策略的選擇

試想,我們現在要掃描的是某個移動公司的網站系統,該網站系統提供多個內容頻道,還可以連線到多個其他移動公司網站和業務網站,我們本次安全測試重點關心的是入口網站本身和其上面的網上營業廳業務。這就是一個比較明確的測試目標物件。

然後,確定掃描策略,我們主要關心該網站是否存在跨站點指令碼執行和 SQL 注入的問題,則在掃描規則中,我們就可以選擇這兩種型別的規則,其他規則都排除。

具體的掃描規則定製,可以在掃描配置 - 測試 - 測試策略中選擇:

在測試策略中,有多種不同的分組模式,最經常使用的是“嚴重性”,“型別”,“侵入式”、“WASC 威脅分類”等標準,根據不同分組選擇的掃描策略,最後組成一個共同的策略集合。

根據我們這次掃描的目標,關心的是跨站點指令碼執行和 SQL 注入的問題,而且不考慮“基礎結構”級別的安全問題。則就可以首先選擇一個預設的掃描策略,然後全部置空,再選擇

跨站點指令碼執行和 SQL 注入,最後再去除這兩種掃描策略中和基礎結果相關的安全問題。

方法如下:

  • 選擇預設的掃描策略,或者把當前的掃描策略,切換到按照“型別”分類,取消掉“基礎結構”和“應用程式”兩種型別。  說明:則把掃描策略置空,沒有選擇任何的掃描策略,指所有分佈型別選擇“型別”分類,是因為型別分類裡面含有的型別,只有兩種型別,可以快速全部都取消掉。

  • 分組型別,切換到“WASC 威脅分類”,選擇“SQL 注入”和“跨站點指令碼編制”。
  • 分組型別,切換到“型別”,發現這時候“基礎結構”和“應用程式”兩種型別的掃描策略都是選擇上的模式,而且是虛線,說明這兩種型別下均有部分掃描策略被選擇了。
  • 我們不關心“基礎結構”級別的安全問題,所以在這裡取消“基礎結構”

  • 分組型別,切換到“侵入式”型別,下面有“非侵入式”和“侵入式”兩種分類。取消“基礎結構”級別的測試。

侵入式的測試用例,往往因為有比較強的副作用,可能對系統造成傷害,所以一般掃描生產系統的時候,很少選擇。我們可以檢視一個 SQL 注入型別的侵入式安全問題,在“輸入以查詢”輸入框中輸入“SQL”,然後回車查詢。可以看到測試變體的描述“將引數值設定為 Declare/Case SQL 注入攻擊(嘗試關閉 DB 伺服器)”,則掃描過程中,會使用該測試用例去執行嘗試關閉資料庫的命令,如果該測試用例執行通過,則就關閉了資料庫,則整個系統就癱瘓!所以,要很慎重的選擇“侵入式的測試用例”。

其他的在“型別”中,“應用程式”型別表示該問題的存在是因為應用程式不嚴謹,程式碼存在安全問題而造成的,修改方法就是修改原始碼;而“基礎結構”型別,則表示該問題是配置問題,建議修改系統配置或者安裝最新的補丁(經常是中介軟體或資料庫補丁)。

瞭解被測試網站

在對網站進行測試之前,我們經常需要先大概瞭解下這個網站,比如該網站使用了哪些技術,提供什麼型別的業務(功能),網站規模等。這些都和我們的掃描設定相關。如下圖,就是我們經常使用的一個調查表,瞭解被測試系統的基本特點。

表 2. 記錄被測網站特點
應用系統名稱訪問地址應用系統架構(JEE/.Net/PHP…)URL 數量登陸方式備註

其中,使用者經常迷惑的是 URL 數量,有些時候,使用者很難評估出一個系統的大概頁面數量,而按照 AppScan 的工作原理,掃描是針對頁面的每個引數的,如果頁面越多,引數越多,則掃描要執行的時間也就越長,掃描儲存成的接過檔案也是越大,更需要進行分解。如果一個掃描任務,本身的已訪問 URL 數超過 5000,評估的要執行的安全測試用例數超過 50,000,則建議進行掃描配置的分析,並根據分析結果,決定是否需要進一步的任務分解和分工。

那麼,如果可以瞭解到網站具體有哪些頁面呢?這裡我們就可以利用 AppScan 的探索(頁面爬行)能力。

在掃描配置裡面設定了主 URL 以後,工作選單中中依次選擇掃描 - 僅探索。對網站進行探索。一般會讓探索工具執行 10 到 30 分鐘,看該網站具體存在哪些頁面,哪些引數等。這個就可以切換到“應用程式資料”檢視來檢視。

我們一般關心這幾個檢視:

  • 已訪問的 URL():AppScan 已經探索到並且進行了分析的頁面
  • 已過濾掉的 URL():AppScan 已經發現,同時根據掃描配置,認為不需要進行安全掃描的頁面。
  • 中斷連結 URL():AppScan 發現了,但是無法訪問到或者訪問出錯的頁面,如 404 頁面不存在,或者 500 伺服器錯誤等。

偽靜態頁面

可以選擇左邊“我的應用程式資料”中的 URL 樹下的每一個節點,察看該節點已訪問的 URL,已過濾掉的 URL 等。

如在已訪問的 URL() 中,我們發現大量類似如下結構的 HTML 頁面:

123http://www.Test.com//focus/satisfy/file5.htmlhttp://www.Test.com//focus/satisfy/file6.htmlhttp://www.Test.com/m-zone/news/dgdd/quanbu/bylb/file5.html

  其共同特徵,都是以 html 為字尾名,最後的檔名格式都是 file+ 數字格式;這種型別的頁面經常存在新聞,論壇等。如果訪問這些頁面,發現頁面結構相同,差異的都是裡面的文字內容,如提供不同的新聞內容等,這些頁面就是所謂的“偽靜態頁面”,其實是網站釋出系統動態產生的,由於結果相似,在安全掃描中,沒有必要針對這些頁面每次都進行掃描。如針對每個目錄下面存在的 file+ 數字格式的頁面,我們就可以設定正則表示式來過濾,比如,在掃描配置 - 排除路徑和檔案中

排除所有該型別的頁面;.*file\d+.html

增加“例外”,對該型別的頁面只掃描 file1.html 和 file20.html

經常存在的其他類似頁面,還有 news1.html、content200.html 等型別,採用方法類似。

業務型別的“冗餘路徑”

和“偽靜態頁面”對應的有另外一種動態頁面,這些頁面按照預設的掃描規則,會被自動過濾,但是根據真實的業務場景,這些頁面確實不能被過濾的,如訪問 demo.testfire.net 時候在“已過濾 URL”內會顯示有如下的 URL 地址,過濾原因都是“路徑限制”:

123http://www.Test.com/default.aspx?content=inside_community.htmhttp://www.Test.com/default.aspx?content=inside_press.htmhttp://www.Test.com/default.aspx?content=inside_executives.htm

選擇 URL 地址,滑鼠右鍵“在瀏覽器中顯示”,會發現這裡顯示的頁面內容完全不一樣,和上面的“偽靜態頁面”正好相反,這些引數相同,引數值不同的動態頁面,是真正的業務頁面,是不能過濾掉;如果過濾,則會很多後續的業務頁面無法發現。那這些頁面為什麼會被過濾了呢?按照什麼樣的規則被過濾掉的?

在 AppScan 中,預設情況下是有一個“冗餘路徑限制”(在“掃描配置 - 探索選型 - 冗餘路徑限制”),預設對於冗餘的頁面,最多掃描 5 次,關鍵的問題是,什麼頁面被 Appscan 認為是冗餘頁面呢 ?

簡單說:

相關推薦

AppScan 掃描測試策略

原文地址:http://www.cnblogs.com/Lam7/p/7095243.html針對大型網站的掃描,我們按照戴明環 PDCA 的方法論來進行規劃和討論,建議 AppScan 使用步驟:計劃(Plan)、執行(Do)、檢查(check)、分析(Analysis and Action)。在計劃階段:

互聯網產品消息推送設計策略

做出 可能 依然 應用 存在 第一次 時間段 時間 保持 在移動互聯時代,消息推送越來越受到各個APP的重視,本文就以互金產品為例闡述消息推送的幾個類別以及應用的場景方式、運營策略,希望對你有益。 在之前一文中,筆者概括性的介紹了通知功能是互金理財平臺的一個基礎但重要

從程式設計師到測試工程師

前言:軟體測試一門非常嶄新的學科,目前研究的內容還很不深入,仍然處於嬰兒階段。軟體測試需要什麼樣的專業基礎還沒有定論,而且目前還沒有一種很好的標準來衡量測試人員。但無可置疑,軟體測試越來越受到軟體公司的重視,軟體測試工程師的作用也逐漸被人們所認可。這一點已經在像微軟這樣的國外

日本的真實目的與中國的應對策略

作者:梅濤        日本“爭常”、修改歷史教科書、挑起與鄰國的領土爭端,這些事在同一時間段內發生,令人感到困惑,而且不禁要問:日本這一系列行動的背後到底是出於怎樣的考慮?只有弄清楚了這個問題,我們對日本的反擊才能最為有效。 反常的“爭常”之戰       聯合國祕書長安

Python編寫執行測試用例及定時自動傳送最新測試報告郵件最完整的自動化測試流程

    今天筆者就要歸納總結下一整套測試流程,從無到有,實現零突破,包括如何編寫測試用例,定時執行測試用例,查詢最新生成的測試報告檔案,自動傳送最新測試報告郵件,一整套完整的測試流程。以後各位只要著重如何編寫測試用例即可,其他模板可以套用的,希望幫助到大家。 目錄

醫脈神劍之正電子發射計算機斷層掃描成像PET基礎原理

span nor item wrap ott head 計算機 raw font 偶們只看圖,不說話 ... ... 醫脈神劍之正電子發射計算機斷層掃描成像(PET)基礎原理(轉)

淘淘商城系列——使用FastDFS-Client客戶端進行上傳圖片的測試

row 構造方法 無法 空間 依賴 ron 文件下載 信息 utils http://blog.csdn.net/yerenyuan_pku/article/details/72804018 不久之前,我們實現了商品的類目選擇這個功能,但這只是萬裏長征的第一步,我們還有很

頻譜儀測試pll鎖定時間

時間設置 spa nbsp ade dbm video trigger read 控制 測量鎖定時間是使用頻譜儀, 將頻譜儀span 調整為0,即觀察時域信號。如從頻率f1跳變到頻率f2, 將頻譜儀頻率調整到f2 後將span 設置為0。將掃描時間設置為與鎖定時間相當的數量

分享之測試WebService小工具 STORM

pen 方法 gles edit 編輯框 mage utl 工具 按鈕 http://www.cnblogs.com/yhuang/archive/2012/04/04/share_storm.html 最近的項目中,一直要使用到WebService,為了測試自己編寫的We

】JMeter學習十八JMeter測試Java

sets interval permsize int 文件 不同 時間 結果 argument 實例: 服務為:將輸入的兩個參數通過IO存入文件; 1、打開MyEclipse,編寫Java代碼 服務: package test; import java.io.F

測試數據科學家聚類技術的40個問題附答案和分析

sqs fib method 描述 只有一個 聚類分析 iap 角度 技術 本文作者 Saurav Kaushik 是數據科學愛好者,還有一年他就從新德裏 MAIT 畢業了,喜歡使用機器學習和分析來解決復雜的數據問題。看看以下40道題目,測試下你能答對多少。 作者

Oracle數據庫測試和優化最佳實踐: OTest介紹

1-1 log 數據 bsp 下載 pan alt style 發送 當前Oracle數據庫最佳測試工具OTest * Otest是用於Oracle數據庫測試、優化、監控軟件。 * Otest是免費提供給Oracle客戶和廣大DBA工程師使用的軟件。由原廠技

常見性能優化策略的總結

觸發 air 技術 敏捷 返回 好的 依賴 pan 支付 看到一篇好文,轉過來好好學習 閱讀目錄 代碼 數據庫 緩存 異步 NoSQL JVM調優 多線程與分布式 度量系統(監控、報警、服務依賴管理) 案例一:商家與控制區關系的刷新job 案例二:POI緩存設計與實現

ab的壓力測試

rtai tag errors xxx mea ftw longest long nds 其中-n代表請求數,-c代表並發數 返回結果: ##首先是apache的版本信息 This is ApacheBench, Version 2.3 <Revision:65

SpringJunit測試類 BaseTest

需要 java代碼 ext text with manage XML test 記錄日誌 Java代碼 /** * * * @author Jerval * @date 2011-2-17 */ @RunWith(SpringJUnit4Class

設計模式——策略模式

提高 {} xiang 有一個 ble 問題 其它 add 新的 轉載地址:http://blog.csdn.net/lifuxiangcaohui/article/details/8065059 這篇文章講述的策略模式非常棒,在此轉載。 設計模式; 一個程序員對設計模

Mybatis MapperScannerConfigurer 自動掃描 將Mapper接口生成代理註入到Spring

失效 @override get proc 所有 actual sample bstr frame   Mybatis MapperScannerConfigurer 自動掃描 將Mapper接口生成代理註入到Spring   Mybatis在與Spring集成的時候可以配

APP測試教福利:Appium 國內下載地址百度雲盤,已更新至 1.3.4.1

monkey 語言 1.3 更新 follow zha install ast IT 鏈接是Appium相關安裝包下載地址(exe&dmg格式),如需自取:) 最新更新的是: appium-1.3.4.dmg& AppiumForWindows-1.3.4.

海量數據存儲--分庫分表策略詳解

單例 海量 隨著 很難 分配 第一次 IT 策略 att 一、背景: 系統剛開始的時候,數據庫都是單庫單表結構。隨著業務量的增加進行第一次數據庫升級,根據業務垂直拆分數據庫,這樣多變成多個業務數據庫,每個數據庫裏面還是單表結構。接下來,繼續隨著業務量的繼續增加,單表

測試大佬談 如何進入BAT大廠做一個測試開發工程師?

  本文轉載自 百家號    念師        https://baijiahao.baidu.com/s?id=1593524964605066107&wfr=spider&for=pc