Web测试常见的安全性测试点

Web测试的另一个测试点就是安全性测试,下面总结了一下一些常见的关于安全性方面的测试点与相应的测试方法。

1.问题:没有被验证的输入

测试方法:(1)数据类型(字符串,整型,实数)
(2)允许的字符集
(3)最小和最大的长度
(4)是否允许空输入
(5)参数是否是必须的
(6)重复是否允许
(7)数值范围
(8)特定的值(枚举型)

(9)特定的模式(正则表达式)

2.问题:有问题的访问控制

测试方法:(1)用于需要验证用户身份以及权限的页面,复制该页面的url地址,关闭该页面以后,查看是否可以直接进入该复制好的地方
(2)eg:从一个页面链接到另一个页面的间隙可以看到url地址

(3)直接输入该地址,可以看到自己没有权限访问的页面信息

3.错误的认证和会话管理

(1)账号列表:系统不应该允许用户浏览到网站所有的账号,如果必须要有一个用户列表,推荐使用某种形式的假名(屏幕名)来指向实际的账号

(2)浏览器缓存:认证和会话数据不应该作为GET的一部分来发送,应使用POST

4.缓冲区溢出

(1)没有加密关联数据,例如:view-source,http地址可以查看源代码

(2)在页面输入密码,页面显示的是xxxx,右键,查看源文件就可以看见刚才输入的密码

5.拒绝服务

分析:攻击者可以从一个主机产生足够多的流量来耗尽很多应用程序,最终使程序陷入瘫痪,需要做负载均衡来对付

6.不安全的配置管理

分析:config中的链接字符串以及用户信息,邮件,数据存储信息都需要加以保护

解决:配置所以的安全机制,关掉所以不使用的服务,设置角色权限账号,使用日志和警报

7.不恰当的异常处理

分析:程序在抛出异常的时候给出了比较详细的内部错误信息,暴露了不应该显示的执行细节,网站存在潜在漏洞

8.不安全的存储

分析:账号列表,系统不应该允许用户浏览到网站所有的账号

9.跨站脚本(XSS)

分析:攻击者使用跨站脚本本来发送恶意代码给没有发觉的用户,窃取他机器上的任意资料

测试方法:(1)html标签
(2)转义字符
(3)脚本语言
(4)特殊字符
(5)最小和最大的长度

(6)是否允许空输入

你可能感兴趣的:(测试基础理论)