IBM Rational AppScan 是一個面向 Web 應用安全檢測的自動化檢測工具,使用它可以自動化檢測 Web 應用的安全漏洞。從 7.5 版本以后,Rational Appscan 提供了擴展機制 —— AppScan eXtension Framework。本文通過一個具體的實例展示了如何利用 AppScan eXtension Framework,在 Microsoft® Visual Studio® 2008 中基于 C# 來創建 Rational AppScan 插件從而增強 Rational AppScan 的應用能力。
AppScan 簡介
IBM Rational AppScan 是一個面向 Web 應用安全檢測的自動化工具,使用它可以自動化檢測 Web 應用的安全漏洞,比如跨站點腳本攻擊(Cross Site Scripting Flaws)、注入式攻擊(Injection Flaws)、失效的訪問控制(Broken Access Control)、緩存溢出問題(Buffer Overflows)等等。這些安全漏洞大多包括在 OWASP(Open Web Application Security Project,開放式 Web 應用程序安全項目)所公布的 Web 應用安全漏洞中
![]() ![]() |
![]()
|
AppScan eXtension Framework 介紹
Rational AppScan 在 7.5 版本以后提供了一個擴展框架,稱為 AppScan eXtension Frameowrk。利用 Appscan 提供的 eXtension framework,用戶可以非常簡單的為 AppScan 提供擴展。擴展的內容幾乎沒有任何限制,可以從一個簡單的通知程序到一個非常復雜的安全分析工具,使得用戶可以根據自己的需要來客戶化 AppScan。AppScan eXtension Framework 支持多種語言,如 Python、C#、C++、J#、Jscript 等等,本文主要介紹如何利用 C# 進行擴展。
下面是 AppScan eXtension Framework 的擴展接口 IExtensionLogic 的類圖:
圖 1. IExtensionLogic 類圖
IExtensionLogic 是 AppScan 擴展的入口接口,它包含兩個方法:
-
void Load(IAppScan appScan, IAppScanGui appScanGui, string extensionDir)
擴展點初始化方法,一般來說,都是在 AppScan 啟動時調用。
參數:
appScan
:AppScan SDK 的主接口 IAppScan 的實例對象。IAppScan 接口包含了 AppScan 掃描測試引擎的主要功能對象,通過使用這個接口的實例,就可以調用 AppScan 的主要功能,它一般作為客戶端訪問 AppScan 的入口。如該接口中的 Scan 屬性,它實際上是 IScanManager 的實例對象。上面的類圖列舉了 IScanManager 中的部分方法,比如 Scan() 方法用來開始對目標網站的同步掃描,ScanAsync() 和 Scan() 方法功能相同,只不過是異步方法,ResetExploereAndTestData() 用來清空網站掃描和安全測試結果等等。appScanGui
:AppScan 的圖形界面元素入口,它實際上是 AppScan 擴展在 AppScan 界面上的體現,它使得 AppScan 的擴展點用戶界面入口能夠出現在 AppScan 界面的菜單(Extensions Menu、ToolsMenu、IssueContextMenu 和 AppTreeNodeContextMenu),工具欄,顯示面板等位置。extensionDir
:傳入參數,用來確定擴展點的安裝地址,方便擴展程序 IO 操作。
-
ExtensionVersionInfo GetUpdateData(Edition edition, Version targetAppVersion)
用來獲取當前擴展的版本更新信息,如果沒有更新數據或不支持這項功能,可以返回空值。
參數:
Edition
:當前 AppScan 的版次,是一個枚舉類型,包含測試版,開發版等等 .targetAppVersion
:當前版本信息,比如本文就是以 7.7 版本為例 .
文章來源于領測軟件測試網 http://www.kjueaiud.com/