软件测试中WEB安全性测试
由于web应用于用户直接相关,又通常需要承受长时间的大量操作,因此web项目的功能和性能都必须经过可靠的验证。这就要经过web项目的全面测试。
一个完整的WEB安全体系测试可以从部署与基础结构、输入验证、身份验证、授权、配置
管理、敏感数据、会话管理、加密、参数操作、异常管理、审核和日志记录等几个方面入手。
1、数据加密:某些数据需要进行信息加密和过滤后才能进行数据传输,例如用户信息卡信
卡、用户登录密码信息等。此时需要进行相应的其他操作,如存储到数据库、解密发送到用户
电子邮箱或者客户浏览器。目前的加密算法越来越多,越来越复杂,但一般数据加密的过程是
可逆的,也就是说能进行加密,同时需要能进行解密!
2、登录:一般的应用站点都会使用登录或者注册后使用的方式,因此,必须对用户名和匹配
的密码进行校验,以阻止非法用户登录。在进行登录测试的时候,需要考虑输入的密码是否对
大小写密码、是否有长度和条件限制,最多可以尝试多少次登录,哪些页面或者文件需要登录
后才能访问/下载等。
3、超时限制:WEB应用系统需要有是否超时的限制,当用户长时间不做任何操作的时候,需要
重新登录才能使用其功能。
4、SSL:越来越多的站点使用SSL安全协议进行传送。SSL是security socket lauer(安全套接字协议层)的
缩写。是由Netscape首先发表的网络数据安全传输协议。SSL是利用公开密钥/私有密钥的加密技术。在位
于HTTP层和TCP层之间,建立用户与服务器之间的加密通信,确保所传递信息的安全性。
5、服务器脚本语言:脚本语言是常见的安全隐患。每种语言的细节有所不同。有些脚本允许访问根目录。
其他只允许访问邮件服务器,但是经验丰富的黑客可以将服务器用户名和口令发送给他们自己。找出站点使
用了那些脚本语言,并研究该语言的缺陷。还要需要测试没有经过授权,就不能在服务器端放置和编辑脚本
的问题。最好的办法是订阅一个讨论站点使用的脚本语言安全性的新闻组。
6、日志文件:在服务器上,要验证服务器的日志是否正常工作,例如CPU是占有率是否很高,是否有例外
的进程占用,所有的事务处理是否被记录等。
7、目录:WEB的目录按钮是不容忽视的一个因素。如果web程序或web服务器的处理不适当,通过简单的
URL替换和推测,会将整个WEB目录完全暴露给用户,这样会造成很大的风险和安全隐患。我们可以使用
一定的解决方式,如在每个目录访问时有index.htm,或者严格设定web服务器的目录访问权限,将这种隐患
降低到最小程度。(每个目录访问时有index.htm目的:通过首页的登录验证功能进行访问权限控制)