横向测试
|
编号
|
Web_01
|
|
测试用例名称
|
基于用户身份处理的横向越权操作测试
|
|
测试目的
|
发现页面中存在的横向越权操作。
|
|
用例级别
|
一级L
|
|
测试条件
|
- Web业务运行正常
- Web业务存在身份级别控制
- 已知某页面(假设为http://www.example.com/abc.jsp).提交的参数中存在着代表用户(假设为userA)身份的标志(假设为operator)
- 与userA同级别权限的用户userB
- 测试用机安装了WebScarab软件
|
|
执行步骤
|
- 运行WebScarab
- 点击Proxy标签页->Manual Edit标签页
- 选中Intercept requests
- 打开浏览器,在代理地址中配置host为127.0.0.1,port为8008
- 使用userA的身份登陆到Web应用
- 进入http://www.example.com/abc.jsp页面,提交数据
- 在弹出的对话框中的URLEncoded页面中,更改operator参数的值为userB,再点击Accept Changes按钮提交
- 观察服务器处理
|
|
预期结果
|
服务器返回操作失败或者以userA的用户身份操作。
|
|
备注
|
如果参数是基于GET方式的URL传递,则不需要通过WebScarab工具,直接在URL中进行修改提交即可。
|
|
参考资料
|
|
纵向测试
横向测试的两个用例在本测试类别中同样使用,只需要对用户身份进行测试时使用上下级权限即可。
在下面的测试中,我们更偏向于使用白盒测试。这样对于测试人员来说节约了非常多的时间。而且也能够全面覆盖所有的页面。
|
编号
|
Web _02
|
|
测试用例名称
|
基于菜单URL的测试
|
|
测试目的
|
发现应用中存在的URL纵向越权操作。
|
|
用例级别
|
一级
|
|
测试条件
|
- Web业务运行正常
- Web业务存在身份级别控制
- 拥有超级管理员及普通用户的帐号和密码
|
|
执行步骤
|
- 以超级管理员身份登陆Web网站
- 单击鼠标右键,选择“查看源文件”
- 在网页“源文件”中查找重要的管理菜单(比如用户管理)的URL链接,并拷贝URL链接地址
- 退出登陆
- 以普通用户身份登陆Web网站
- 在浏览器地址栏中输入“用户管理”的URL地址(如http://www.example.com/usermanage.do),然后回车
- 观察普通用户是否能够顺利进入“用户管理”页面,并进行用户管理操作。
|
|
预期结果
|
普通用户不能够通过直接URL访问、使用未授权的功能。
|
|
备注
|
|
|
测试结果
|
|
|
编号
|
Web _03
|
|
测试用例名称
|
基于爬行的测试
|
|
测试目的
|
发现页面中存在的纵向越权操作。
|
|
用例级别
|
一级
|
|
测试条件
|
- Web业务运行正常
- Web业务存在身份级别控制
- 已知待测目标URL,假设为http://www.example.com/page.xxx
- 测试用机上安装了AppScan
|
|
执行步骤
|
- 双击运行AppScan,选择file—new新建扫描,选择扫描模板default
- 弹出扫描配置对话框,选择扫描类型,默认为Web Application Scan,点击next
- 在Starting URL中填入需扫描的目标服务器域名或IP地址,其他配置不需修改,点击next
- 选择默认的Recorded Login(recommended method),点击New
- 在弹出的页面中用权限较高的用户身份登录,如:admin等
- 关闭页面,弹出如下对话框,点击OK
 - 不需修改任何参数,点击next
- 不需修改参数,选择Start a full automatic scan,点击finish完成配置,开始扫描
- 扫描完成,保存扫描结果,假设命名为admin.scan
- 重新开始扫描,重复步骤1、2、3
- 在选择用户身份(即:第4步)时,选择NoLogin,点击next
 -
在弹出的配置对话框中(即:第7步的对话框)选择Advanced Test Settings,弹出下面对话框,点击Configure选项
-
在Privilege Escalation中,点击Add添加已经扫描出的结果;点击打开导入扫描结果;并用一个名称标记它,如:admin,点击ok  
- 然后点击ok返回扫描配置对话框,如第7步的图示,点击next
- 到第8步所示对话框中,不需修改参数,点击finish开始做越权扫描
- 扫描完成,保存结果。
- 分析扫描结果
|
|
预期结果
|
扫描结果中不会提示存在漏洞。
|
|
备注
|
|
|
参考资料
|
|