使用IBM Security AppScan Enterprise 8.7和Selenium IDE进行自动化的安全测试
本文适用于想要提高代码安全性的开发专业人员,无论他们想成为更全面的开发人员,还是希望将代码部署的网关传递到上层环境。 此外,质量保证(QA)专业人员可以提供一种在功能测试期间测试代码的方法,这对于发现其他安全测试方法未发现的代码漏洞特别有效。 通过将Selenium IDE与IBM Security AppScan Enterprise结合使用,该过程将实现自动化,因此得以简化。 总体而言,软件开发生命周期(SDLC)得到改善。
SeleniumIDE
Selenium IDE是用于Web应用程序测试的自动化工具。 您可以将其安装为Mozilla Firefox浏览器插件,在该插件中提供了易于使用的用户界面(UI),用于记录功能测试。
安装Selenium IDE
Selenium IDE的安装很简单:在下载站点(请参阅参考资料中的链接),在Selenium IDE下 ,选择最新的下载文件(请参见图1)。 截至撰写本文时,当前标记为2.4.0,于2013年9月16日发布。安装插件,然后允许Firefox重新启动。
图1. Selenium IDE安装
使用Selenium IDE:创建一个测试用例
现在,使用IBM AltoroMutual站点遍历,使用Selenium IDE创建一个简单的测试用例。 为此,请完成以下步骤:
- 调用Firefox浏览器和Selenium IDE插件:
- 转到AltoroMutual网站登录页面。
- 在Firefox菜单中,单击工具> Selenium IDE 。
- 确保Selenium IDE中的基本URL与Firefox浏览器URL相匹配:
http://demo.testfire.net/bank/login.aspx
:http://demo.testfire.net/bank/login.aspx
。 - 通过确认右侧的红色记录按钮已启用,确定Selenium IDE正在记录。
- 在AltoroMutual上开始您的会议:
- 在Firefox中,使用以下凭据登录到AltoroMutual站点:
- 用户名: jsmith
- 密码: Demo1234
- 单击登录 。
- 在Firefox中,使用以下凭据登录到AltoroMutual站点:
- 执行站点遍历:
- 在登录页面(main.aspx)上,您会看到欢迎的Hello John Smith和“ 查看帐户详细信息”字段,该字段预填充值1001160140 Checking ,如表1所示。单击Go继续。
- 在“ 帐户历史记录”页(account.aspx)上,请注意,“ 余额明细”字段预填充了值1001160140 Checking 。
- 从下拉菜单中,将此值更改为1001160141 Savings ,如表1所示,然后单击Select Account 。
- 点击左侧窗格中的转移资金链接。
- 在“ 转账资金”页面(transfer.aspx)上,将100.50从“支票”转到“储蓄”,然后点击“ 转账” 。
您会看到一条红色确认消息,表明传输成功。
- 点击页面顶部的联系我们链接。
- 在“ 电子邮件 ”标题下,单击在线表单链接,该链接将带您到“ 反馈” (feedback.aspx)页面。
- 使用表1中所示的值填写表单字段,然后单击Submit 。
一条短信显示“ 谢谢” 。
- 单击“ 注销”链接,然后继续进行下一步。 不要关闭Firefox浏览器。
- 在Selenium IDE UI中,执行以下步骤:
- 单击右侧的红色录制按钮以停止录制。
- 在顶部菜单中,单击文件>另存为 ,将文件命名为Altoro-Mutual-Test-Case ,然后保存。
- 关闭Selenium IDE并退出Firefox。
表1.站点遍历参考:标签,字段和输入值
标签 | 领域 | 输入值 | 行动 |
---|---|---|---|
main.aspx | 查看账户明细 | 1001160140检查 | 走 |
account.aspx | 余额明细 | 1001160141节省 | 选择帐号 |
transfer.aspx | 从帐户 | 1001160140检查 | |
开户 | 1001160141节省 | ||
转移金额 | 100.50 | 划款 | |
feedback.aspx | 你的名字 | 约翰·史密斯 | |
您的电子邮件地址 | [email protected] | ||
学科 | 新账户 | ||
问题/评论 | 请致电303.222.1000给我打电话 | 提交 |
IBM Security AppScan Enterprise手动资源管理器工具
手动资源管理器工具是IBM Security AppScan Enterprise 8.7的功能。 您可以从IBM Security AppScan Enterprise控制台下载它,并将其作为Windows®可执行文件安装。 它实际上充当代理,使您可以记录流量并将其保存为IBM Security AppScan Enterprise格式.htd。 保存后,可以使用IBM Security AppScan Enterprise控制台将流量文件直接导入以扫描作业。
安装手动浏览器工具
要安装该工具,只需登录到IBM Security AppScan Enterprise控制台并创建或编辑扫描作业。 完成以下步骤,将工具下载并安装到本地计算机:
- 下载手册浏览器工具:
- 登录到IBM Security AppScan Enterprise控制台,然后创建一个新的扫描作业。
- 在“ 探索”下 ,单击“ 扫描内容”链接。
- 对于起始URL,输入http://demo.testfire.net/bank/login.aspx 。 单击添加 ,然后单击应用 。
- 在“ 手动资源管理器”下 ,就像使用该插件执行手动资源浏览一样,而是选择“ 使用手动资源管理器工具”或“ AppScan Standard资源浏览数据文件”选项,如图2所示。
图2.下载Manual Explorer工具
- 单击下载链接,然后将“手动资源管理器”工具可执行文件保存到本地计算机。
- 单击右下角的“ 取消 ”,然后单击“ 保存”以保存您的扫描作业以供以后使用。
- 调用ManualExplorerSetup.exe的安装程序,然后按照提示在本地安装它。 参见图3。
图3.手动资源管理器工具安装程序
- 配置手动浏览器工具:
- 调用手动浏览器工具。
请注意,这是一个带有记录按钮的小型,简单界面。
- 单击文件>首选项 。
- 将浏览器首选项设置为Firefox。
- 将端口保留为默认值9999。
- 调用手动浏览器工具。
使用手动资源管理器工具捕获Selenium IDE测试用例流量
现在,您具有使用Selenium IDE记录的测试用例,以及使用手动资源管理器捕获HTTP流量的方法。 在此过程中,您将对以“手动资源管理器”工具形式提供的代理执行记录的测试用例,记录HTTP流量并将其保存为IBM Security AppScan控制台希望为扫描作业导入的格式。
使用手动资源管理器捕获Selenium IDE流量
完成以下步骤,以使用“手动资源管理器”工具捕获测试用例的流量文件,如图4所示。
图4.使用Manual Explorer捕获测试用例流量
- 调用手动浏览器工具:
- 在Windows的“开始”菜单中,单击程序> IBM Security AppScan手动资源管理器 。
- 点击记录 。
请注意弹出窗口,指示代理正在侦听端口9999。
- 实例化了Firefox浏览器实例。
手动浏览器会自动将Firefox设置为在端口9999上使用代理。
- 调用Selenium IDE:
- 在手动浏览器实例化的Firefox浏览器窗口中,单击工具> Selenium IDE 。
- 在Selenium IDE中,单击“ 文件”>“打开” ,然后选择您的Selenium IDE测试用例, 该测试用例之前保存为Altoro-Mutual-Test-Case 。
您将在左窗格中看到测试用例负载。
- 单击“ 播放当前测试用例”以执行测试用例。
请注意,Firefox就像在测试案例中所记录的那样,通过AltoroMutual网站上的步骤序列运行。
- 请不要关闭浏览器窗口或SeleniumIDE UI。
保存流量文件
以下过程说明了如何正确保存新创建的流量文件:
- 关闭Selenium IDE UI。
- 关闭Firefox浏览器窗口。
- 出现提示时,保存“手动浏览”流量文件,如图5所示。
图5.保存流量文件
文件类型显示为Http Traffic Data(* .htd)。
- 将文件命名为Altoro-Mutual-Traffic,然后点击保存 。
- 关闭手动浏览工具。
使用Selenium IDE测试用例执行扫描作业
以下过程说明了如何将代表Selenium IDE测试用例的HTTP通信文件导入到扫描作业中以执行。
将流量文件导入为扫描作业
使用控制台将新创建的流量文件上传到IBM Security AppScan Enterprise:
- 登录到IBM Security AppScan Enterprise控制台并编辑您的扫描作业。
- 在“ 探索”下 ,单击“ 扫描内容”链接。
- 在“ 手动浏览”下 ,就像使用插件执行手动浏览一样,而是选择使用手动浏览工具或AppScan Standard浏览数据文件选项。
- 单击选择文件 ,然后从本地计算机选择流量文件Altoro-Mutual-Traffic.htd。
- 点击导入 。
出现“ 手动浏览的URL”页面,如图6所示。
图6.手动资源管理器URL
- 点击保存 。
出现“ 自动填表字段”页面。
- 点击保存 。
现在,您已经从“手动资源管理器”工具中将流量文件保存在扫描作业内容中,用于手动浏览的URL。
那有什么意义呢?
安全测试现已集成到SDLC中。 QA测试人员可以利用Selenium IDE运行他们的测试用例,并在此过程中执行安全检查。 这意味着组织的安全团队将有更多时间花在实际解决漏洞上,而花在与运行Web应用程序扫描相关的管理任务上的时间更少。 这也意味着组织将从网络应用程序的更广泛扫描中受益,以解决安全漏洞,从而大大减少漏洞的覆盖范围。
图7说明了从Selenium IDE测试用例中发现的问题。
图7.扫描作业安全性问题
结论
本文介绍了如何通过几个手动步骤将Web应用程序的自动功能测试与DAST结合在一起。 Selenium IDE是QA测试人员和开发人员的一项启用技术,它允许在Web应用程序中记录功能测试会话以供将来重播。 您不必每次进行更改都必须手动测试Web应用程序功能,而只需再次运行Selenium IDE测试用例即可。 此外,您可以使用Selenium IDE创建多个功能测试,并按顺序执行它们作为整个测试套件。 这是自动化的强大工具。
翻译自: https://www.ibm.com/developerworks/security/library/se-automated/index.html