基于渗透测试和源代码扫描的软件安全测试和开发

发表于:2011-8-22 10:55

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:许舟平    来源:51Testing软件测试网采编

  通过设置 URL 入口、登陆方式和测试策略,AppScan 可以快速完成 Web 应用扫描的配置,从而开始漏洞检测。其实,除了上述几种设置,我们在图 7 左侧还可以发现更为完善的测试配置项,比如对参数和 Cookie 的设置,对扫描访问的 URL 深度和广度进行配置,对需要填充的表单如何填写等等。

  图 8. 进行扫描中与发现的部分安全问题

  AppScan 的扫描分为二部分,首先是进行探索,将发现的 URL 进行记录;其次进入实际的测试步骤,将利用之前我们设定的测试策略进行渗透测试。下图是 AltoroMutual 应用经过 AppScan 黑盒测试发现的部分安全问题。在 AppScan 主窗口左上方显示的 AltoroMutual 被扫描出的网站 URL 结构图,每个 URL 上发现的安全漏洞被标注在该 URL 后。左下方的仪表板显示了安全问题的汇总,由于我们设定只针对中高级别的安全问题进行显示,所以 Low Level、Info Level 的问题数量为 0。右上方将扫描出安全问题的种类和相应的 URL 一一罗列出来,而在其下方是每一个安全问题的详细描述、修复建议和问题复现。

  图 9. AppScan 扫描完成后的主窗体

  一般来讲,基于黑盒的渗透测试具有较高的测试准确率,但是我们依旧需要对扫描出的安全问题进行分析和甄别,从而给出合理的安全级别和修复建议。在本例中,我们具体分析一下 AltoroMutual 应用中存在的跨站脚本攻击(XSS)问题。

  点击存在 XSS 问题的 URL“http://localhost:8080/altoromutual/sendFeedback”中“name”,可以看到产生这个 XSS 问题的详细信息,我们通过查看“请求 / 响应”来对该漏洞进行复现和判断其严重程度。点击“请求 / 响应”的标签后,我们发现 AppScan 发送了如下的内容给 AltoroMutual。利用将“1234>%22%27><img%20src%3d%22javascript:alert(14404)%22>”插入到 cfile=comments.txt&name 后,实施 XSS 攻击。

  图 10. AppScan 向服务器端发送的带有跨站脚本攻击的数据

  通过点击“在浏览器中显示”的方式,我们可以得以在 AppScan 内嵌浏览器中将这个跨站脚本攻击问题复现。

  图 11. 在 AppScan 内置浏览器中进行 XSS 问题复现

  通过上面的扫描示例我们不难看出,基于黑盒的渗透测试确是有较为高的准确率。在软件开发生命周期中,渗透测试可以帮助测试人员、QA 人员在 FVT、UAT 等阶段发现软件安全问题。

  但是,渗透测试的全面性和覆盖率一直都是困扰着众多软件安全测试人员的问题。而且对于开发人员来说,他们更为关心如何能够在软件开发的早期阶段就能引入安全性的分析,让他们能够根据漏洞分析的提示,尽可能早地将安全问题 Fix 在开发阶段,这就引入了基于白盒的源代码安全分析。

  如果把检测软件漏洞比作去医院看病,那渗透测试就如同中医的“闻问望切”一般,通过给软件把脉,将病例病因一一道来。而基于白盒的源代码分析,更像是西医的内观外治,先做完 X 片、B 超,然后对症下药。

  其实长久以来,基于黑盒的渗透测试和基于白盒的源代码分析到底谁更为有效的问题一直争论不下,以至于还有了灰盒测试(Gray Box)的出现。接下来就让我们一起通过示例看看白盒黑盒孰优孰劣。

63/6<123456>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号