基于 AppScan eXtension Framework 開發 Rational AppScan 插件

發表于:2009-04-03來源:作者:點擊數: 標簽:rationalRATIONALRationalframeworkFramework
IBM Rational AppScan 是一個面向 Web 應用 安全檢測 的自動化檢測工具,使用它可以自動化檢測 Web 應用的安全漏洞。從 7.5 版本以后, Rational Appscan 提供了擴展機制 —— AppScan eXtension Framework。本文通過一個具體的實例展示了如何利用 AppScan e
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 的類圖:


圖 1. IExtensionLogic 類圖
IExtensionLogic 類圖appscanxf/image001.jpg" width=553>

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

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97