Web安全测试指南--权限管理
垂直权限提升:
|
编号 |
Web_Author_01 |
|
用例名称 |
垂直权限提升测试 |
|
用例描述 |
测试用户是否具有使用超越其角色范围之外的权限。 |
|
严重级别 |
高 |
|
前置条件 |
1、 目标系统拥有不同等级的角色和权限(比如:管理员和普通用户),并能够区分不同级别的权限角色能够访问的资源。 2、 目标web应用可访问,业务正常运行。 3、 已安装http拦截代理(burp、fiddler或webscarab均可)。 |
|
执行步骤 |
1、 开启burp,设置对http请求进行拦截,并在浏览器中配置代理。 2、 使用高级别权限账号(比如:管理员账号)登录目标系统。 3、 访问某个只有该高级别权限账号才能够访问的接口或者资源,比如: POST /admin/addUser.jsp HTTP/1.1 #添加账户接口 Host: www.example.com Cookie: Sessionid = 21232f297a57a5a743894a0e4a801fc3 [other HTTP headers] userName=test&phoneNum=138xxx 4、 使用burp拦截该HTTP请求并转入burp repeater。 5、 注销高级别权限账号。 6、 使用另外一个低级别权限账号(比如:普通用户)登录目标系统。 7、 访问任意接口或资源并用burp拦截对应的HTTP请求,比如: POST /commonUser/info.jsp HTTP/1.1 #查询账户信息接口 Host: www.example.com Cookie: Sessionid = fab0ec1c41247e83e2189f2094952eb4 [other HTTP headers] 8、 复制该HTTP请求的cookie字段,然后替换掉burp repeater中的高级别账户产生的HTTP请求的cookie字段,比如: POST /admin/addUser.jsp HTTP/1.1 #添加账户接口 Host: www.example.com Cookie: Sessionid = fab0ec1c41247e83e2189f2094952eb4 #替换cookie [other HTTP headers] userName=test&phoneNum=138xxx 9、 在burp repeater中重新向目标系统发送该被替换过cookie的HTTP请求,观察目标系统的返回结果。 |
|
预期结果 |
目标系统返回类似“没有权限”的信息或者对应的错误码。 |
|
测试结果 |
|
|
备注 |
5.2.2、水平权限提升:
|
编号 |
Web_Author_02 |
|
用例名称 |
权限提升测试 |
|
用例描述 |
测试用户是否具有访问其自身以外的受限访问的资源。 |
|
严重级别 |
高 |
|
前置条件 |
1、 目标系统拥有多个不同的账户,并且拥有各自受限访问资源信息(比如:个人信息),并且这些资源信息使用资源标签进行区分。 2、 目标web应用可访问,业务正常运行。 3、 已安装http拦截代理(burp、fiddler或webscarab均可)。 |
|
执行步骤 |
1、 开启burp,设置对http请求进行拦截,并在浏览器中配置代理。 2、 使用账号A登录目标系统。 3、 访问某个只有账号A才能够访问的资源,比如: POST /info/Info.jsp HTTP/1.1 #通过userID查询对应的账户信息 Host: www.example.com Cookie: Sessionid = 21232f297a57a5a743894a0e4a801fc3 #账户A cookie [other HTTP headers] userID=111111 #账户A的userID 4、 使用burp拦截该HTTP请求并转入burp repeater。 5、 记录账户A的资源标签(比如:userID)并注销账户A。 6、 使用账号B登录目标系统。 7、 访问同样的接口并用burp拦截对应的HTTP请求,比如: POST /info/Info.jsp HTTP/1.1 #通过userID查询对应的账户信息 Host: www.example.com Cookie: Sessionid = fab0ec1c41247e83e2189f2094952eb4 #账户B cookie [other HTTP headers] userID=222222 #账户B的userID 8、 使用账户B的资源标签替换掉账户A的资源标签,比如: POST /info/Info.jsp HTTP/1.1 #通过userID查询对应的账户信息 Host: www.example.com Cookie: Sessionid = fab0ec1c41247e83e2189f2094952eb4 #账户B cookie [other HTTP headers] userID=111111 #账户A的userID 9、 向目标系统发送该被篡改过的请求,观察目标系统的返回结果。 |
|
预期结果 |
目标系统返回类似“没有权限”的信息或者对应的错误码。 |
|
测试结果 |
|
|
备注 |
1、 验证水平权限提升时,两个账号可以是相同权限级别的(比如:两个普通用户账号),也可以是不同权限级别的(比如:一个管理员账号和一个普通账号),但更加建议使用两个不同权限级别的账号做测试。 2、 步骤3、4和5不是必须要执行的步骤,如果能够直接获取到其它账户的私有资源标签或者私有资源标签可以预测(比如:userID只是简单的递增关系),则可以省略。 |
提示:如果IE显示不正常,请使用chrome浏览器
Web安全测试指南--权限管理的更多相关文章
- web安全开发指南--权限管理
2.1 访问控制安全规则 1 访问控制必须只能在服务器端执行. 2 只通过session来判定用户的真实身份,避免使用其它数据域的参数(比如来自cookie.hidden域 ...
- Web安全测试指南--会话管理
会话复杂度: 5.3.2.会话预测: 5.3.3.会话定置: 5.3.4.CSRF: 5.3.5.会话注销: 5.3.6.会话超时:
- Web安全测试指南--认证
认证: 5.1.1.敏感数据传输: 编号 Web_Authen_01_01 用例名称 敏感数据传输保密性测试 用例描述 测试敏感数据是否通过加密通道进行传输以防止信息泄漏. 严重级别 高 前置条件 1 ...
- Web安全测试指南--文件系统
上传: 编号 Web_FileSys_01 用例名称 上传功能测试 用例描述 测试上传功能是否对上传的文件类型做限制. 严重级别 高 前置条件 1. 目标web应用可访问,业务正常运行. 2. 目 ...
- Web安全测试指南--信息泄露
5.4.1.源代码和注释: 编号 Web_InfoLeak_01 用例名称 源代码和注释检查测试 用例描述 在浏览器中检查目标系统返回的页面是否存在敏感信息. 严重级别 中 前置条件 1. 目标we ...
- Web安全开发指南--会话管理
1.会话管理 3.1.会话管理安全规则 1 避免在URL携带session id. 2 使用SSL加密通道来传输cookie. 3 避免在错误信息和调试日志中记录session id. 4 使用框架自 ...
- 基于吉日嘎底层架构的通用权限管理Web端UI更新:参考DTcms后台界面
经一周的研究学习,看了国内的H+.HUI等,国外的PaperDashboardPro.Make.Metronic BootStrap等,最终选定用一个轻量的,适合中国人的,来自DTcms的后台管理UI ...
- Web端权限管理新增实用功能:批量增加操作,简单方便快速!
扩展了吉日嘎拉的Web端权限管理功能后,每次添加菜单倒没啥问题,毕竟菜单的数量有限,可是每增加一个模块.功能或者说权限控制点,就得针对各种常规操作,新增很多遍. 浪费时间,还容易出错.新增了一个字典表 ...
- RDIFramework.NET ━ 9.8 用户权限管理 ━ Web部分
RDIFramework.NET ━ .NET快速信息化系统开发框架 9.8 用户权限管理 -Web部分 在实际应用中我们会发现,权限控制会经常变动,如:需要调整角色的分配,需要收回与授予某些角色.用 ...
随机推荐
- 简谈const限定符
const修饰的数据类型是常量类型,常量类型的对象和变量在定义初始化后是不能被更新的.其实只用记住这一个概念,就可以明白const操作对象的方法. 1)定义const常量 最简单的: const in ...
- VPS速度测试(4):上传下载速度、服务器带宽、Ping响应时间
1.VPS的速度好坏经常是我们选择某一个VPS商家的重要参考指标,对于国外的VPS主机我们可以执行以下命令来测试VPS入口带宽是多少. wget https://cachefly.cachefly.n ...
- ASPxCheckBoxList控件获取selected项的text和value的方法
设ASPxCheckBoxList的ClientInstanceName为list_ var needtext; for (var i = 0; i < list_.GetSelectedIte ...
- 数字签名(以ActiveXDemo为例)
1.创建Install.inf文件和run.bat Install.inf: [version] signature="$CHICAGO$" AdvancedINF=2.0 [Se ...
- 机器学习方法:回归(三):最小角回归Least Angle Regression(LARS),forward stagewise selection
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 希望与志同道合的朋友一起交流,我刚刚设立了了一个技术交流QQ群:433250724,欢迎对算法.技术.应用感 ...
- Pow(x, n)——这也能用二分法!!!!
Implement pow(x, n). 下面介绍一下解决该问题的几种方法以及要注意的地方: 1)最直观容易想到的方法就是用递归方法求n个x的乘积,注意考虑n的正负号,时间复杂度为O(n) class ...
- office2007/2010/2013输入公式的正确方式
博客中的文章均为 meelo 原创,请务必以链接形式注明本文地址 理工科的学生,写报告.写论文那面需要输入公式,过去大家常用的公式编辑器是mathtype,虽然功能强大,但输入极为不方便,输入个指数. ...
- LoadRunner中进程运行和线程运行区别
LoadRunner中的进程与线程 1.进程与线程的区别: 进程和线程的区别是什么?进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性.进程和线程的区别 ...
- SCU 4444 Travel (补图最短路)
Travel The country frog lives in has \(n\) towns which are conveniently numbered by \(1, 2, \dots, n ...
- Xamarin XAML语言教程模板视图TemplatedView(二)
Xamarin XAML语言教程模板视图TemplatedView(二) (2)打开MainPage.xaml文件,编写代码,将构建的控件模板应用于中TemplatedView.代码如下: <? ...