0x03 OTG-IDENT 身份鉴别管理测试

角色定义测试(OTG-IDENT-001)

  1. 综述
    大多数系统至少存在两个角色
    管理员:允许访问特权功能和敏感信息
    普通用户:允许访问常规业务功能和信息
  2. 测试目标
    验证应用的角色有效区分,并区别相应的权限
  3. 如何测试
    角色权限矩阵列表
    测试例子
    参考WordPress角色文档
  4. 测试工具
  • 手工测试
  • spidering tools(排除退出链接)
  1. 整改措施
  • 角色工程
  • 将业务角色对应系统角色
  • 权限分离

用户注册过程测试(OTG-IDENT-002)

  1. 综述
    注册过程自动化(半自动化)或手动授予用户权限
  2. 测试目标
    验证用户注册的主体需求是否满足业务和安全需求
    验证注册过程
  3. 如何测试
  • 验证用户注册的主体需求是否满足业务和安全需求 是否任何人都能进行注册
    注册时人工授权还是自动
    用户注册后是否拥有不同角色
    成功注册需要用户拿出什么凭据
    是否验证注册用户
  • 验证注册过程 注册的用户信息是否可以轻易伪造
    是否可以通过恶意操作在注册过程中改变用户信息
  1. 测试工具
  • HTTP 代理工具
  1. 整改措施
  • 实现能够鉴定和满足相关保护凭证信息的安全需求

账户权限变化过程测试(OTG-IDENT-003)

  1. 综述
    攻击者能够从账户权限变化过程中,找到一个绕过识别和认证过程创建合法用户的机会
  2. 测试目标
    测试拥有修改其他账户权限和类型的账户
  3. 如何测试
    在用户权限请求中是否存在审查和认证过程验证
    在撤销用户权限请求中是否存在审查和认证过程验证
    管理员能否更改其他管理员账户或仅仅是普通账户的权限
    管理员或普通用户能否取消自己的账户权限(注销自己的账户)
    被取消用户权限的用户文件和资源如何管理(删除?权限转移?)
  4. 测试工具
  • 手工测试
  • HTTP 代理工具

测试账户枚举和可猜测的用户账户(OTG-IDENT-004)

  1. 综述
    暴力破解
  2. 如何测试
    黑盒
  • HTTP响应消息 测试合法用户名,正确密码
    测试合法用户,错误密码
    测试不存在的用户名

    • 其他枚举用户的方法
      分析登录页面获得错误返回码
      分析URL和重定向URL
      URI探测
      分析Web页面标题
      分析从恢复机制中获得的消息
      404页面
    • 根据用户名规则猜测用户

灰盒 * 测试认证错误

  1. 测试工具
  • WebScarab
  • crul
  • perl
  • Sun Java Access & Identity Manager Users enumeration
  1. 整改措施
  • 在登录过程中,对于不合法的用户名、密码和其他用户凭证,响应一致的错误信息(不包含过多的提示)
  • 系统发布上线前(生成环境/不可信网络)删除默认账户和测试账户

弱用户名策略测试(OTG-IDENT-005)

  1. 综述
    用户名如果用规律则容易被猜测
  2. 测试目标
    确定应用是否存在用户枚举漏洞
    确定应用错误信息是否允许用户枚举
  3. 如何测试
    确定账户名结构
    评估应用对于合法和非法账户名的响应
    通过不同的响应结果来枚举账户名称
    使用账户名字典枚举合法账户名称
  4. 整改措施
  • 在登录过程中,对于不合法的用户名、密码和其他用户凭证,响应一致的错误信息(不包含过多的提示)

发表评论

电子邮件地址不会被公开。 必填项已用*标注