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 Aclearcase/" target="_blank" >ccess 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 的類圖:
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.anti-gravitydesign.com