当前位置: 首页 > article >正文

【渗透测试专栏】1.2认证和授权类-越权访问(水平/垂直越权)

该系列专栏旨在让漏洞检测变得更简单,只用于学习用途

靶机环境请看专栏前言专栏前言-WooYun漏洞库环境搭建-CSDN博客

目录

该系列专栏旨在让漏洞检测变得更简单,只用于学习用途

一、漏洞描述

1、水平越权

2、垂直越权

二、漏洞级别

三、漏洞检测方法

漏洞修复


一、漏洞描述

偏业务漏洞

1、水平越权

水平越权指的是在同一权限级别下,用户可以访问其他用户的资源或执行其他用户的操作。例如,在一个在线购物系统中,用户 A 和用户 B 都是普通用户,他们应该只能访问自己的订单信息、个人资料等。但如果存在水平越权漏洞,用户 A 可能能够访问用户 B 的订单信息,或者修改用户 B 的个人资料。

产生水平越权的原因通常是系统在进行权限校验时不够严格,没有正确地识别用户的身份和权限范围。比如,仅仅依靠用户的 ID 来确定资源的访问权限,而没有对用户的角色或其他标识进行充分的验证。

2、垂直越权

垂直越权则是低权限的用户能够访问高权限用户的资源或执行高权限的操作。例如,在一个企业管理系统中,普通员工通常只能查看自己的工作任务和提交工作报告。而管理员则可以管理用户账号、审批重要文件等。如果存在垂直越权漏洞,普通员工可能能够执行管理员的操作,如删除用户账号或修改系统设置。

垂直越权的出现可能是由于系统在权限管理的层次划分上不清晰,或者在权限校验的过程中存在漏洞。比如,没有对用户的权限进行严格的分层管理,或者在某些关键操作的权限校验中没有考虑到用户的实际权限级别。

越权访问漏洞可能会导致严重的安全问题,如用户隐私泄露、数据被篡改、系统被恶意控制等。为了防止越权访问漏洞的出现,开发人员应该在系统设计和开发过程中,采用严格的权限管理机制,对用户的身份和权限进行充分的验证和授权,确保用户只能访问和操作自己有权限的资源。

二、漏洞级别

高危

三、漏洞检测方法

1、  以超管 admin(高权限用户) 身份登录系统

2、  找到一个只有超管(高权限)才有的功能的链接,比如说:"http://localhost/mywebappname/userManage/userList.do" , 显示出所有的user,并复制此链接.

3、  以普通用户登陆进系统,在地址栏输入: userManage/userList.do ,如果可以查看到其所有的user,则就造成了,普通用户的越权访问

漏洞修复

对用户操作进行权限校验,防止通过修改参数进入未授权页面及进行非法操作,建议在服务端对请求的数据和当前用户身份做一个校验检查。

流程描述:在服务器接收到用户发送的页面访问请求时,根据预设的识别策略,从用户的页面访问请求中提取该用户对应的用户唯一标识信息,同时提取所述页面访问请求对应的应答页面中的表单及该表单中不可修改参数,将所述表单及不可修改参数与所述用户唯一标识信息绑定后记录到参数列表中;检测到用户提交请求页面的表单时,将所述请求页面的表单及不可修改参数与该用户对应的所述参数列表中记录的表单及不可修改参数进行比对,控制该用户的访问。

例如:
登陆时将用户名存入session
session.setAttribute("username",username);
在相关页面判断
if((String)session.getAttribute("username")!=admin){
(response.sendRedirect("XXX.jsp")};
注意: xxx.jsp为自定义的错误页面。


http://www.kler.cn/a/292167.html

相关文章:

  • 【CV】头盔检测区域入侵项目
  • 进程信号
  • 解决背景图因为图片路径中携带括号导致图片无法显示的问题
  • 谷歌Gemini发布iOS版App,live语音聊天免费用!
  • flink实战 -- flink SQL 实现列转行
  • 从python源码到可自动更新软件
  • 记录共通的js方法
  • 六、桥接模式
  • 信息安全数学基础(1)整除的概念
  • 并行处理大 csv 文件
  • 腾讯云 安装部署 SSL 证书到负载均衡(CLB)指引
  • 微信小程序rpx和px关系
  • Java在智能数据挖掘系统的应用
  • 新能源汽车超级电容和电池能量管理系统的simulink建模与仿真
  • 解析C++内联函数与auto关键字
  • 【前端】中断请求的方式
  • 【WPS Excel】复制表格时,提示“图片太大,超过部份将被截去“ 问题
  • 基于Openjdk容器打包运行jar程序
  • BZOJ2959 长跑(LCT维护边双后缩点)
  • Rust 赋能前端:PDF 分页/关键词标注/转图片/抽取文本/抽取图片/翻转...
  • JVM系列(七) -对象的内存分配流程
  • 场外个股期权的风险有哪些方面?
  • 数据库课程设计mysql---图书管理系统详细的设计文档和需求文档
  • NTC阻值与温度计算公式
  • Redis 常用命令总结
  • 【Django-Minio-Storage 使用教程】