平行越权

攻击者请求操作(增、删、查、改)某条数据时,Web 应用程序没有判断该数据的所属人,或者在判断数据所属人时直接从用户提交的表单参数中获取(如用户ID),导致攻击者可以自行修改参数(用户ID),操作不属于自己的数据

案例1:某高校教务系统用户可越权查看其他用户个人信息

  • (1) 以 "高某某" 学号为12Sxxxx0031为例,登录教务系统,并查看该账号的学籍信息。
  • (2) 访问学号为 12Sxxx0032 的学生的学籍信息
  • (3) 访问学号为 12Sxxx0033 的学生的学籍信息

案例2:某电商网站用户可越权查看或修改其他用户信息

  • (1) 注册账号并登录,当前用户名为 april,UserID 为 460,添加收货地址并查看 "我的地址簿"
  • (2) 使用 BurpSuite 抓包,修改 cookie 中的 UserID 为360,提交后服务器返回地址信息
  • (3) 在前台下单并提交后,单击查看 "我的订单"
  • (4) 同时使用 BurpSuite 抓包,修改cookie中的UserID 改为 360,提交后服务器返回的订单信息

案例3:某手机APP普通用户可越权查看其他用户个人信息

  • (1) 注册用户并登录后点击"系统设置->个人信息" 处查看个人信息
  • (2) 使用 BurpSuite 抓包并修改 studentId 为188750,提交后服务器返回其他用户信息
  • (3) 修改 studentId 为 138850,提交后服务器返回其他用户信息

纵向越权

案例1:某办公系统普通用户权限越权提升为系统权限

  • (1) 使用普通权限账号 a02 登录办公系统,尝试修改权限。由于普通用户无法访问修改权限模块,系统会跳转到 NoPower 页面提示用户无操作权限
  • (2) 使用 BurpSuite 修改 Cookie 中的 Tname 参数为 admin,欺骗服务器该请求为系统管理员发出的,成功提升账号 a02 为系统管理员权限
  • (3) 再次访问权限修改 modifyuser 页面 ,可成功访问

案例2:某中学网站后台可越权添加管理账号

  • (1) 访问登录页面,尝试登录,由于不知道账号密码,所以登录失败。
    可直接打开添加用户页面,添加账号 test,密码为123456,添加完用户返回首页登录
  • (2) 登录成功后,提示没有分配管理权限,然后会强制退出管理系统。但此时会生成一个 Cookie
  • (3) 使用该 Cookie ,可直接打开分配权限的页面。其中 test 用户不能修改自己的权限,但可以修改其他用户的权限。再添加一个新用户 test2,两者可以互相添加权限
  • (4) 使用 test 账号修改test2账号的权限为管理员权限
  • (5) 使用 test2 账号重新登录,成功进入管理后台

案例3:某智能机顶盒低权限用户可越权修改超级管理员配置信息

  • (1) 使用超级管理员登录,配置 user 密码。智能机顶盒设备的超级管理员的账号和密码为  chinanet/123456,登录后查看该机顶盒的设备信息。使用超级管理员登录后,在 "管理" 模块下的 "用户管理" 中配置 user 用户的密码
  • (2) 使用超级管理员配置 proxy 代理地址,通过超级管理员在 "应用" 模块下的 "proxy代理" 中配置,使用抓包工具抓取提交的链接和参数
  • (3) 退出超级管理员,清除浏览器的 Cookie 信息,使用 user 账号登录。与超级管理员相比,user 用户在 "应用" 模块中只有简单的 "日常应用" 一项权限,并没有其他的权限
  • (4) 利用 user 用户的权限来配置以前没有权限配置的 proxy 代理,直接使用hackbar 工具通过 POST 方式提交数据。通过抓取的数据包可以看出,使用的是 user 用户权限进行提交的。
  • (5) 再次使用超级管理员chinanet 账户登录,单击进入 "proxy代理" 的配置,此时内容已发生改变了。

PS:其实这个案例说白了也就是使用普通账号的cookie去成功调用了本该只属于超级管理员的接口。

案例4:某Web防火墙通过修改用户对应菜单类别可提升权限

  • (1) 以 audit 用户身份登录系统,使用 BurpSuite 抓包 category 的值 system.audit 修改为 system.admin
  • (2) category 的值修改后,单击 Forward,进入管理员管理界面。
  • (3) 将 audit 账号的权限设置为最大
  • (4) 再使用 audit 账号登录系统,audit 账号拥有管理员权限。

防范越权访问漏洞的相关手段

实现应用程序的完善的访问控制不是件容易的事,越权漏洞防不胜防。

  • (1) 执行关键操作前必须验证用户身份,多阶段功能的每一步都要验证用户身份
  • (2) 对于直接对象引用,加密资源ID,以防止攻击者对ID进行枚举
  • (3) 在前端实现的验证并不可靠,前端可以验证用户的输入是否合规,要在服务端对请求的数据和当前用户身份做校验。检查提交 CRUD 请求的操作者(Session)与目标对象的权限所有者(查数据库)是否一致,如果不一致则阻断
  • (4) 在调用功能之前,验证当前用户身份是否有权限调用相关功能(推荐使用过滤器,进行统一权限验证)
  • (5) 把属主、权限、对象、操作的场景抽象成一个统一的框架,在框架内统一实现权限的管理和检查。

Web安全测试之越权测试案例相关推荐

  1. web专项测试之兼容性测试

    1.服务器平台的兼容性测试 服务器的兼容性测试主要指同一个软件需要在不同的web服务器版本下进行测试,连接不同的数据库,或者使用不同的网络环境时是否都能正常的工作. 2.客户端平台的兼容性测试 客户端 ...

  2. 【小迪安全】web安全|渗透测试|网络安全 | 学习笔记-5

    目录 目录 第25天:WEB漏洞-XSS跨站之原理分类及攻击手法 第26天:WEB漏洞-XSS跨站之订单及Shell箱子反杀记 第27天:WEB漏洞-XSS跨站之代码及httponly绕过 第28天: ...

  3. web渗透测试之攻破登录页面

    web渗透测试之攻破登录页面 当我们在做渗透测试时,无论厂商项目还是src众测项目,都会遇到给一堆登录系统的URL,然后让我们自己去测,能不能进去全看天的状况,本文将讲一下怎么突破这种封闭的web系统 ...

  4. 敏态下“骨架化、模块化”测试案例编写技术实践

    文/叶婷婷 罗章坤 一.引言 随着互联网金融监管的日益严格.市场竞争的不断加剧及客户需求的快速变化,金融企业IT系统的复杂程度不断提高,IT需求日益放大,创新型需求持续产生.传统的软件开发模式,诸如瀑 ...

  5. 基于Windows下的Web性能测试和压力测试

    基于Windows下的Web性能测试和压力测试 Web测试 随着Internet的日益普及,现在基于B/S结构的大型应用越来越多,可如何对这些应用进行测试成为日益迫切的问题.有许多测试人员来信问我B/ ...

  6. 测试案例中@SpringBootTest与@RunWith**的含义

    背景:平常都是写功能,写业务代码忽略了对测试案例的理解,借此机会梳理记录一下测试案例中常用到的的几个注解. 一:@SpringBootTest 作用是加载ApplicationContext,启动sp ...

  7. Python自动化-APPium原理解析与实际测试案例分享

    目录结构 一.Appium概述 Appium架构原理 运行原理 1)Appium服务器 2)Bootstrap.jar 3)Appium客户端 二.Appium组件 三.Appium环境搭建 Node ...

  8. EMC设计与测试案例分析郑军奇第二版 296页电磁兼容EMC超强书籍

    EMC设计与测试案例分析郑军奇第二版 296页 20.0M 高清书签版.pdf 电磁兼容(EMC)标准解析与产品整改实用手册 WSQ 电磁兼容(EMC)设计与测试之汽车电子产品 [陈立辉 主编] 20 ...

  9. WEB漏洞-逻辑越权之登录脆弱及支付修改

    WEB漏洞-逻辑越权之登录脆弱及支付篡改 支付篡改 商品购买流程 常见修改参数 常见修改方法 某商场系统商品支付逻辑测试-数量,订单 购买数量 订单编号 某建站系统商品支付逻辑测试-价格,商品 购买价 ...

最新文章

  1. FPGA逻辑设计回顾(9)DDR的前世今生以及演变过程中的技术差异
  2. python pip 安装错误 EnvironmentError: mysql_config not found
  3. mysql数据库元表_mysql中元数据库information_schema学习之TABLES表
  4. 更改Linux系统的Hostname的四种方式
  5. spring的bean注释_Spring @Bean注释
  6. XXX required a bean of type ‘XXXXXXXX‘ that could not be found ,博客可帮忙找错
  7. RFID FDX HDX Technology
  8. SparkSQL HiveSQL 常用正则表达式
  9. dell笔记本外接显示器_戴尔笔记本怎么连接外接显示器
  10. comsol3.5 软件下载
  11. 以太坊平台评估 私有链和联盟链的机会与挑战
  12. 深度学习之反向传播推导
  13. Android Room 数据访问对象(DAO)详解
  14. 小程序发布成功后搜索不到怎么办?
  15. centos win xp双系统 安装手记 9660 grldr U盘安装
  16. 64位电脑安装32位系统不能引导启动
  17. java ajax serialize,jQuery使用serialize(),serializeArray()方法取得表单数据
  18. c51中断优先级c语言,51单片机的中断优先级及中断嵌套
  19. c语言中的除法符号,C中的逐位有符号除法算法
  20. 接到面试通知后的准备

热门文章

  1. 后端调用阿里云快递API接口--后端部分
  2. CV5200无线WiFi通信模组,公里级数据传输应用,远距离无线交互方案
  3. Python猴子吃桃问题
  4. H5开发:使用H5、CSS、JS、JQUERY实现从本地选择图片、预览图片、上传图片列表
  5. classin安卓手机安装条件_classin软件
  6. 高效使用浏览器的5个小技巧,第1个技巧最实用
  7. 福昕阅读器和adobe reader dc护眼背景色设置
  8. Adobe 系列软件安装及激活异常解决方法
  9. powerbi与mysql_PowerBI中的数据连接和导入
  10. Spring Cloud Feign的原理及基本使用