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

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

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

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

分享:

  5、非正常访问:主要用于需要验证用户身份以及权限的页面,复制该页面的url地址,关闭该页面以后,查看是否可以直接进入该复制好的地址。

  6、输入框管理:对Grid、Label、Tree view类的输入框未作验证,输入的内容会按照html语法解析出来。

  7、缓冲区溢出:没有加密关键数据,在页面输入密码,页面显示的是 *****,  右键,查看源文件就可以看见刚才输入的密码。

  8、不安全的存储:包括两个方面。帐号列表:系统不应该允许用户浏览到网站所有的帐号,如果必须要一个用户列表,推荐使用某种形式的假名(屏幕名)来指向实际的帐号;浏览器缓存:认证和会话数据不应该作为GET的一部分来发送,应该使用POST。

  9、拒绝服务:攻击者可以从一个主机产生足够多的流量来耗尽狠多应用程序,最终使程序陷入瘫痪。需要做负载均衡来对付。

  最后是针对上篇文章中提到的七种常见攻击设计用例进行测试改良,具体方法可以参见以下资料,这里就不详细列出:

  中文:http://www.51testing.com/?uid-49689-action-viewspace-itemid-74842

  英文:http://www.djangobook.com/en/2.0/chapter20/

  这里再提一下之前性能测试中发生的一些错误,现在看来是并发测试对系统安全的影响。最典型的情况是注册(现在改用邮箱验证之后应该不存在此类问题了)和购物,因为是并发,所以它们的提交和处理时间几乎是一样的,于是在判断是否数据库中已经存在该用户名或者是该用户是否有足够虚拟币的时候,因为是同时判断,所以数据库中的记录就不具有绝对的参考价值了,这也就是为什么在并发时会出现同一用户名多次注册以及购物能购到虚拟币为负。这只是一两个例子,仔细检查应该能发现更多的弱点。

  总的来说,手动安全测试是很耗费时间和精力的,对测试人员的要求也很高,但也是必不可少的。下一篇文章将介绍如何用工具来进行安全测试,以弥补手动测试的不足。

版权声明:本文出自winthnight的51Testing软件测试博客:http://www.51testing.com/?271416

原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。

推荐阅读:

安全测试(一):安全测试简介

WEB安全测试所需的基础知识提纲

安检如影随形 业务有道可循——谈谈Web应用安全测试

Web安全测试概述

Web安全测试知多少 

五个安全测试步骤保护应用程序

如何防范SQL注入——编程篇

如何防范SQL注入——测试篇

22/2<12
100家互联网大公司java笔试题汇总,填问卷领取~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号