Web安全测试—08认证测试

验证码测试

编号

Web _01

测试用例名称

验证码测试

测试目的

查看是否有验证码机制,以及验证码机制是否完善

用例级别

一级

测试条件

  1. 已知Web网站地址
  2. Web业务运行正常
  3. 存在登陆页面

执行步骤

  1. 登陆页面是否存在验证码,不存在说明存在漏洞,完成测试
  2. 验证码和用户名、密码是否一次性、同时提交给服务器验证,如果是分开提交、分开验证,则存在漏洞
  3. 在服务器端,是否只有在验证码检验通过后才进行用户名和密码的检验,如果不是说明存在漏洞。(检测方法:输入错误的用户名或密码、错误的验证码。观察返回信息,是否只提示验证码错误,也就是说当验证码错误时,禁止再判断用户名和密码。)
  4. 验证码是否为图片形式且在一张图片中,不为图片形式或不在一张图片中,说明存在漏洞,完成测试
  5. 生成的验证码是否可以通过html源代码查看到,如果可以说明存在漏洞,完成测试
  6. 生成验证码的模块是否根据提供的参数生成验证码,如果是说明存在漏洞,完成测试
  7. 请求10次观察验证码是否随机生成,如果存在一定的规律(例如5次后出现同一验证码)说明存在漏洞,完成测试
  8. 观察验证码图片中背景是否存在无规律的点或线条,如果背景为纯色(例如只有白色)说明存在漏洞,完成测试
  9. 验证码在认证一次后是否立即失效:

预期结果

不存在上述漏洞

备注

本用例根据最严格的方式对目标进行测试,如果产品线对安全的要求不高且有自身的安全策略规定时,可以视情况对测试项进行部分测试

测试结果

认证错误提示

编号

Web_ 02

测试用例名称

认证错误提示

测试目的

为了进行暴力破解,攻击者需要知道已存在的用户名,再对该用户名进行攻击。所以,本测试用于确认目标服务器在处理登陆操作时会提示出具体的信息。

用例级别

一级

测试条件

  1. 已知Web网站地址
  2. Web业务运行正常
  3. 存在登陆页面

执行步骤

  1. 在用户名(或其他身份标志)的输入框中输入test,口令任意
  2. 若服务器返回提示类似于“用户名不存在”,则说明存在漏洞,完成测试
  3. 使用正确的用户名(或同功能的身份标志),在口令框中输入test
  4. 若服务器提示类似于“密码/口令错误” “用户名不存在”之类的信息,则说明存在漏洞,完成测试。

预期结果

服务器不会针对认证错误的情况提示准确的信息。

备注

测试结果

锁定策略测试

编号

Web _03

测试用例名称

锁定策略测试

测试目的

在缺少锁定策略和验证码设计有问题的情况下,攻击者可以通过枚举的方式来进行暴力猜解。本测试用于发现目标系统是否缺少锁定策略。

用例级别

一级

测试条件

  1. 已知Web网站地址
  2. Web业务运行正常
  3. 存在登陆页面

执行步骤

  1. 打开登陆页面
  2. 在用户名(或同功能的身份标志)输入框中输入正确的用户名
  3. 在口令(或同功能的口令标志)输入框中输入错误的口令
  4. 在验证码输入框(如果有的话)中输入正确的验证码
  5. 提交表单
  6. 重复1~5步骤10次
  7. 判断目标系统返回的信息

预期结果

目标系统提示“帐号已锁定”或者“IP已锁定”或者类似“锁定”等之类的信息。

备注

第6步中重复步骤次数视各产品实际情况而定。

另外,如果系统存在一些认证接口(带认证参数的URL,不是普通登陆页面),那么也需要对认证接口进行失败认证尝试,以测试其锁定策略。

测试结果

认证绕过测试 

编号

Web _04

测试用例名称

认证绕过测试

测试目的

发现目标认证系统是否存在绕过的可能

用例级别

一级

测试条件

  1. 已知Web网站地址
  2. Web业务运行正常
  3. 存在登陆页面

执行步骤

  1. 打开登陆页面
  2. 在用户名(或同功能的身份标志)输入框中输入admin’ or ‘1’=’1
  3. 在口令(或同功能的口令标志)输入框中输入admin’ or ‘1’=’1
  4. 提交表单,观察返回结果

预期结果

不能够成功登陆。

备注

如果目标系统采用javascript限制了输入格式,可以通过WebScarab来进行修改。关于WebScarab的使用说明,请参看相关帮助文档。

测试结果

修复密码测试

编号

Web_ 05

测试用例名称

修改密码测试

测试目的

如果修改密码功能存在着缺陷,攻击者可以通过此其缺陷修改其他用户的密码。

用例级别

一级

测试条件

  1. 已知Web网站地址
  2. Web业务正常运行
  3. 网站提供修改密码的功能
  4. 已知某正确的用户账号

执行步骤

  1. 登陆网站
  2. 进入密码修改页面
  3. 查看是否必须提交正确旧密码,如果不需要则存在漏洞
  4. 填写并提交修改密码数据,并以WebScarab拦截修改密码请求,观察新旧密码是否通过同一个HTTP请求提交到服务器,如果不是则存在漏洞;
  5. 观察是否客户端是否提交用户名或用户ID,如果是则修改为其他用户名或用户ID,看看是否能够成功修改其他用户的密码,如果可以则存在漏洞。

预期结果

用户修改密码时必须提供旧密码,普通用户无法修改其他用户的密码。

备注

如果初始口令为系统提供的默认口令、或者是由管理员设定时,则在用户/操作员使用初始口令成功登录后,系统必须强制用户/操作员更改初始口令,直至更改成功,否则是漏洞。

测试结果

不安全的数据传输

编号

Web _06-01

测试用例名称

登陆过程信息机密性保护

测试目的

测试Web程序在处理登录过程中用户名和口令的传输是否采用了加密传输的机制。

用例级别

一级

测试条件

  1. 已知Web网站地址
  2. Web业务正常运行
  3. Web业务存在登陆认证模块

执行步骤

  1. 已知网站登录地址为:http://www.example.com/login.xxx
  2. 开启WebScarab,配置对GET和POST请求进行拦截;在浏览器中配置代理服务器IP为127.0.0.1,端口为8008
  3. 在登录处输入用户名和口令、验证码登陆
  4. 查看WebScarab拦截的请求中,用户名和口令是否采用HTTPS协议传输。

预期结果

用户名和密码信息采用HTTPS传输。

备注

测试结果

强口令策略测试 

编号

Web_ 07

测试用例名称

强口令策略测试

测试目的

本测试为检查目标系统是否存在强口令策略。

用例级别

二级

测试条件

  1. 已知Web网站地址
  2. Web业务运行正常
  3. Web业务存在帐号管理
  4. 已知正常用户的用户、口令
  5. 存在口令修改页面

执行步骤

  1. 使用正确的用户、口令登陆Web业务系统
  2. 打开口令修改页面
  3. 在新口令输入框中输入字母加数字的5位字符(如ab123)作为密码并提交,如果未提示“口令长度过短”等诸如此类的信息,说明存在弱点,完成测试。
  4. 在新口令输入框中输入6位数字(如123456)作为密码并提交,如果未提示 “口令字符需要大小写” 等诸如此类的信息,说明存在弱点,完成测试。
  5. 观察结果

预期结果

目标系统存在满足上述步骤的较严格的口令复杂度策略。

备注

上面只是举例说明口令复杂度的测试,实际上强口令策略还包括口令有效期、历史口令等,这些都要测试。

对于一些Web应用密码只能是数字组成,则不强制要求强口令。

Web应用安全开发规范中的强口令策略:

1.口令长度的取值范围为:0-32 个字符;口令的最短长度和最长长度可配置;口令的最短长度建议默认为6个字符。

2.口令中至少需要包括一个大写字母(A-Z)、一个小写字母(a-z)、一个数字字符(0-9);口令是否包含特殊字符要求可以配置。

3.口令中允许同一字符连续出现的最大次数可配置,取值范围:0-9,当取值为 0 时,表示无限制,建议默认为 3。

4.口令须设置有效期,最短有效期的取值范围:0-9999 分钟,当取值为0时,表示不做限制,建议默认:5 分钟;最长有效期的取值范围:0-999 天,当取值为 0 时,表示口令永久有效,建议默认:90 天。

5.在口令到期前,当用户登录时系统须进行提示,提前提示的天数可配置,取值范围:1-99 天,建议默认:7 天。

6.口令到达最长有效期后,用户再次登录成功但在进入系统前,系统强制更改口令,直至更改成功。

7:口令历史记录数可配置,取值范围为:0-30;建议默认:3个。

8:管理员/操作员/最终用户修改自己的口令时,必须提供旧口令。

9:初始口令为系统提供的默认口令、或者是由管理员设定时,则在用户/操作员使用初始口令成功登录后,要强制用户/操作员更改初始口令,直至更改成功。

10:口令不能以明文的形式在界面上显示。

11:口令不能以明文的形式保存,须加密保存;口令与用户名关联加密,即加密前的数据不仅包括口令,还包括用户名。

12:只有当用户通过认证之后才可以修改口令。

13:修改口令的帐号只能从服务器端的会话信息中获取,而不能由客户端指定。

建议3.2.1.1:实现弱口令词典功能。

测试结果

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虚空劫灰往事书@布耶尔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值