Web渗透——身份管理测试
1、角色定义测试
测试是否对不同的用户设置了不同的权限,即是否遵循了最小权限原则。
2、用户注册流程测试
该测试主要是验证用户注册的身份需求和业务安全需求是否相一致,以及验证注册流程。
验证用户注册的身份需求和业务安全需求是否相一致:
是否任何人都能注册访问? 是否通过人工在配置访问权限前进行检查? 能否同一用户或身份多次注册? 用户能否注册不同角色和权限? 需要什么身份证明才能注册成功?
验证注册流程:
身份信息是否容易被伪造或造假? 在注册过程中能否操纵交换用户信息?
3、账户配置过程测试
主要是验证什么角色能够配置其他用户。
是否有任何验证来审查和授权配置请求? 是否有任何验证来审查和授权撤销配置请求? 管理员是否可以配置其他管理员还是只能配置用户? 管理员或普通用户配置账户权限是否过大? 管理员或普通用户是否能撤销配置的账户权限?
4、账户枚举测试
无论是用户名错误还是密码错误,都应当返回一样的错误信息。否则通过错误信息可以枚举出有效用户名,以此就有可能破解出完整口令。
5、弱的或未实施的用户策略测试
主要是验证账户的一致性命名是否会导致账户枚举漏洞(例如假定baidu员工邮箱为:lyh@baidu.com,注意姓名格式),以及应用的错误信息是否会导致账户枚举。
测试方法:
1、查明账户命名规范。 2、评估应用程序对有效和无效账户名的响应。 3、根据有效和无效账户名的响应不同来枚举有效的账户名。 4、使用账户名目录来枚举有效的账户名。