安全测试是我工作以后参加的第一个项目中接触到的。当时对安全测试作了一些调研,设计了一些测试用例,通过这些测试用例也确实发现了不少bug。安全测试是软件测试的一个分支,涵盖内容十分广泛,下面结合自己的项目经历,介绍一下自己对安全测试的感受。
1.服务器端需要检查:
- 用户密码等重要用户信息是否经过加密
- 服务器端的一些重要文件,如配置文件,是否作了权限访问控制
- 服务器端的一些无关文件是否移除
- 服务器的一些无关服务是否已禁用
- 向服务器端发送大量的用户请求(flood web server)
2.客户端需要检查:
- 尝试用错误的用户名密码登陆时的提示信息是否暴露重要信息
- 属于特定组别的用户是否享有该组别以外的权限
- 对不同类型的字段作overflow的检查
- 是否可以通过URL绕过login而直接访问用户信息
- Cookie的检查:cookie中是否含有重要信息?禁用cookie后,会话能否timeout?
- 大数据量文件通过客户端上传带来的影响
3.Code injection:
- JS injection
- XSS attack
- SQL injection
- JSON code injection
4. 一些工具的使用:如Snort, Nmap, Nessus。