安全测试(二):手动测试方法

发表于:2009-12-25 11:41

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

 作者:winthnight    来源:51Testing软件测试博客

  这里先说一下手动测试的两个出发点,所谓知己知彼,百战不殆,安全测试也要从正反两个方面出发来考虑。一是从己方也就是系统安全本身出发,确保其安全机制正确执行了它们的功能;还有就是从敌方也就是攻击者的角度出发,专门针对模拟攻击者的测试用例。综合这两点,总结了一些方法,由于阅读的资料和相关经验有限,可能不够全面,希望能在将来慢慢补充。

  首先是“输入校验”,输入是攻击者与系统最直接的接触方式,据统计,对于一个web应用,输入校验做的好能阻止90%~95%的攻击。那么应该怎样做好输入校验呢?可以参考以下几个步骤:

  1、找到web应用所有能够接受用户输入的地方,也就是找到所有输入点;

  2、逐个检查每个输入点,确认它们的相应的输入规则和边界。这里最好从合法输入入手,因为你不可能穷举出所有非法输入,但是可以列出所有合法输入;

  3、重点关注隐藏域的输入点,比如cookie和URL参数;

  4、验证来自数据库的信息,这点比较容易被忽视,因为一般都认为来自数据库的信息可信度是很高的,这也是为什么数据库容易成为攻击点;

  5、不光要在客户端进行校验,还要在服务器端进行校验,因为客户端可能会被恶意更改导致危险数据进入系统内部;

  6、注意隐藏异常信息,不要让这些信息成为攻击者的切入点。

  做完输入校验之后,系统相对来说已经比较安全了,然后再对一些常见的安全点进行测试,从网上总结出了如下一些测试点,可以根据需要选择测试:

  1、目录设置:每个目录下应该有index.html或main.html页面,这样就不会显示该目录下的所有内容。选中一幅图片,单击鼠标右键,看是否找到该图片所在的路径。若能找到,在浏览器地址栏中手工输入该路径,看是否发现该站点的信息。

  2、SSL:站点使用SSL进行安全传送。进入一个SSL站点是因为浏览器出现了警告消息,而且在地址栏中的HTTP变成HTTPS。开发部门使用了 SSL,测试人员需要确定是否有相应的替代页面。当用户进入或离开安全站点的时候,请确认有相应的提示信息。是否有连接时间限制?超过限制时间后出现什么情况?

  3、登录:验证系统阻止非法的用户名/口令登录,而能够通过有效登录。用户登录是否有次数限制?是否限制从某些IP地址登录?如果允许登录失败的次数为 3,你在第三次登录的时候输入正确的用户名和口令,能通过验证吗?口令选择有规则限制吗?  是否可以不登陆而直接浏览某个页面?是否有超时的限制,用户登陆后在一定时间内(例如15分钟)没有点击任何页面,是否需要重新登陆才能正常使用。

  4、日志文件:在后台,要注意验证服务器日志工作正常。日志是否记所有的事务处理?是否有恶意操作失败记录?

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号