在目前的 WEB 安全黑盒测试方法中,一般是按照黑客攻击的手法进行测试,以达到准确性与全面性。那么,如何保证黑盒测试的全面性与准确性呢?总结一下,可以有以下几个方面:
1、对产品项目的熟悉程度。
测试之前,对项目进行了解跟踪,熟悉项目的所有功能、接口以及与其他项目的关联性(有时候A项目的功能会造成B项目存在安全风险)。
2、全面的技术知识。
由于每个项目的功能都不同,可能涉及到的应用就不同,有的项目是视频应用,就要了解flash脚本编写技术与前端配置知识,大多数 flash蠕虫都是因为前端配置问题造成的。有些项目用到了AJax,那么测试人员就必须了解AJax的知识。有的项目用到 ActiveX 插件,那么就要知道 ActiveX 可能造成的安全问题,等等。所以,安全测试人员要掌握全面技术知识,才可以对每个项目进行测试,并不因为新项目中包含新的技术而放弃测试。同时还要有不断的学习能力,遇到未知的技术要进行快速学习,然后对项目进行测试。
3、超强的漏洞挖掘能力,以及实战能力。
安全测试时,必须按照黑客攻击的手法进行测试,所以,这就要求WEB安全测试人员拥有超强的漏洞挖掘能力与漏洞认知度。同样还要拥有实战经验,一个没有实践经验的测试人员,不是一个好的安全测试人员,当安全测试人员并不知道安全BUG所造成的的方式与利用后所造成的影响,就不能全部的发现所有安全 BUG,同时又不能在各个安全BUG危险度上进行分级,这就造成一些安全BUG的疏漏。
4、黑盒测试标准
总结出一个黑盒测试标准文档,对所有可能影响的安全漏洞进行罗列,并详细描述黑盒测试的方法与步骤,在项目测试过程中对条目中的所有漏洞进行检测,并严格按照规定的方法进行测试。
5、细心+用心
一个很小的功能,就可能造成很大的安全漏洞,如果未测试到就进行上线,就可能造成黑客攻击,所有的用户帐户被盗取,或者应用瘫痪。
所谓工欲善其事,必先利其器,这里列出了一些常用的黑盒测试工具:
1、扫描工具:
Web Vulnerability Scanner
Ratproxy
2、嗅探工具:
Wireshark
Fiddler2
WebScarab
burpsuite
SPIKEProxy
appsniff
httpwatch
Paros
3、测试工具:
Web2Fuzz
pangolin
sqlmap
Firefox+插件:
总结:
只有对项目中所有的应用接口与功能进行全面测试,并对可能造成的风险进行一一审核,兼备完善的WEB安全技术,同时,由于未来情况下可能会存在新的攻击方式,并时刻关注业内安全事件,对于新的攻击手段进行跟踪学习,应用到安全测试中,才可以达到安全黑盒测试的全面性,保证应用的安全性。