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 类图
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 版本为例 .
文章来源于领测软件测试网 https://www.ltesting.net/