首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

“每天半小时了解安全测试”之身份管理测试

身份管理测试包含:测试角色定义、测试用户注册过程、测试账号配置过程、测试账号类型和用户账号可猜测性、测试弱账户名。

一、测试角色定义

概述:系统中通常都会定义多个系统角色,用来管理用户和对系统资源的使用。

测试目标:验证系统是否定义了不同的系统角色,并且各角色间是相互分离的。角色具有所必须的权限来使用系统。

测试方法:梳理系统的用户角色和所需的权限,并在系统中验证用户角色是否具有相应的权限,或者有不应该有的权限。

例如:梳理系统的用户角色和所需的权限:

梳理权限

例如:登陆只有管理员才能进入的页面,然后再用普通角色登陆,访问那个管理员才能登陆的页面,看看是否可以访问成功。

二、测试用户注册过程

概述:有些系统会自动注册用户,有的需要手动注册用户,以具体情况而定。

测试目标:确认用户注册过程满足业务需要且符合安全需要。

测试方法:

1、是否任意的人都可以注册?

2、注册是否有人工检查后分配权限,还是满足一定条件后自动给予用户权限?

3、同一个人或者身份是否能注册多次?

4、用户是否能注册不同的角色或者权限?

5、用户注册成功需要哪些身份证明或要件?

6、注册的用户身份是否经过核实?

7、用户注册的身份信息是否容易伪造?

8、用户在注册过程中变更信息时是否会被非法修改?

三、测试账号配置过程

概述:对账户进行配置,给攻击者提供了一个非法获得账户的机会。

测试目标:确认哪些账号和账号类型将会提供给用户,而用户应该获得哪些账号和账号类型。

测试方法:

1、对于配置的请求是否有验证和认证?

2、对于取消配置的请求是否有验证和认证??

3、管理员是否能配置其他管理员的权限还是只能配置用户的权限?

4、管理员或者其他用户是否能配置超过其应有的权限?

5、管理员或者其他用户是否能取消自己的权限?

6、当账号的权限被取消后,关联的文件或者资源如何处理?

四、测试账号类型和用户账号可猜测性

概述:系统的认证机制,通常会提示用户账号是否存在。

测试目标:用户账号是否容易被收集。

测试方法:

1、http响应信息:

提交正确的用户名密码,记录http响应信息A。

提交正确的用户名和错误的密码,应该提示认证失败,如果提示密码错误则不符合预期。记录http响应信息B。

提交不存在的用户名,应提示认证失败,如果提示用户不存在,则不符合预期。记录http响应信息C。

通常,不同错误类型,应该有同样的错误提示,并且http响应信息B和C应该一致。这样才不会泄露具体的错误类型。

2、分析错误码:一些应用对不同的错误类型会有不同的错误码。

3、分析URL:URL中包含了错误信息,例如:

url

4、URI 的探查:对于不同URI访问,服务器是否有不同的返回,例如:

URI

5、分析web页的title,有些错误信息或错误码显示在web页的title,例如:

title

6、分析恢复策略的信息,例如找回密码时,输入用户名的提示:

提示

7、分析用户名或者用户ID:有一些用户名或者ID是有规律的,例如:CN000000100,CN000000101,CN000000102,CN000000103

五、测试弱账户名

概述:账户名通常都是高度结构化的,导致有效的账户名容易被猜测。

测试目标:确认账户名是否有一致的规律。

测试方法:

1、确认账户名的结构。

2、评估提交合法账户和非法账户的响应是否合适。

3、使用合法和非法账户的响应是否可以枚举出其他合法账户。

4、使用账户名字典是否可以枚举出合法账户。

希望对你有帮助

多谢。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180409A1IAZY00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券