测试原理:
水平权限漏洞:凡是用户A可以利用来访问用户B的敏感资源的漏洞。通常,水平权限漏洞产生的原因是:在展现用户信息时,使用了较易被伪造的身份依据。
我们认为:根据cookie中的某个字段,如cn_tmp字段判断用户身份,是安全的,而非从页面或者URL中进行判断。因此,我们进行水平权限安全测试实际上是测试开发同学的代码是否采用上述方法
手工测试点划分方法:
1、根据UC(或DEMO或FRD)判断功能点是否有水平权限的需求。如果该功能点涉及查询用户的敏感信息;修改、新增、删除任何用户的个人信息,那么该功能点有水平权限的需求。
2、与开发工程师确认权限判断依据。通常,用于判断用户身份的依据有:
a)cookie中的帐号字段;
b)自定义的id,写入cookie,或渲染到页面上,或保存于URL中;
c)来自于URL中的id;
3、根据判断用户身份的依据制定测试方法:
a)Cookie中的帐号字段:更换另一个已登录帐号cookie;
b)自定义的id,写入cookie或渲染到页面上:尝试伪造id,更换cookie中对应的帐号字段,或更改页面上对应的字段,或更改URL中对应的字段后,进行提交;
c)来自于URL中的id:尝试更改URL中的id
如果采用上述几种方法后,返回的结果是我们修改的id的操作结果页面,那么,存在水平权限漏洞。
环境搭建:安装Firefox+Tamper
Tamper是firefox的一个插件,我们主要使用它来更换cookie中的内容。
我们打开firefox
选择工具
选择附加组件
选择获取附加组件