越权访问漏洞原理以及修复方法

漏洞名称 :越权访问

漏洞描述:越权访问,这类漏洞是指应用在检查授权(Authorization)时存在纰漏,使得攻击者在获得低权限用户帐后后,可以利用一些方式绕过权限检查,访问或者操作到原本无权访问的高权限功能。在实际的代码安全审查中,这类漏洞往往很难通过工具进行自动化检测,因此在实际应用中危害很大。其与未授权访问有一定差别。目前存在着两种越权操作类型:横向越权操作和纵向越权操作。前者指的是攻击者尝试访问与他拥有相同权限的用户的资源;而后者指的是一个低级别攻击者尝试访问高级别用户的资源,如图所示的情况。

检测条件

1、 Web业务存在不同级别的权限(角色)
2、 可通过用户名登录网站内进行功能的操作。
3、 Web业务正常运行

检测方法

1、 以超管 admin(高权限用户) 身份登录系统
2、 找 到 一 个 只 有 超 管 ( 高 权 限 ) 才 有 的 功 能 的 链 接 , 比 如说 :"http://localhost/mywebappname/userManage/userList.do" , 显 示 出 所有的user,并复制此链接.
3、 以普通用户登陆进系统,在地址栏输入: userManage/userList.do ,如果可以查看到其所有的user,则就造成了,普通用户的越权访问。

检测说明:权限管理测试更多的是进行人工分析,自动化工具无法了解页面的具体应用场景以及逻辑判断过程。因此这里的测试需要首先测试人员理解测试业务系统的逻辑处理流程,并在此基础上进行如下测试。这里有几个测试的参考依据:
1. 页面是否进行权限判断;
2. 页面提交的资源标志是否与已登陆的用户身份进行匹配比对;
3. 用户登陆后,服务器端不应再以客户端提交的用户身份信息为依据,而应以会话中保存的已登陆的用户身份信息为准;
4. 必须在服务器端对每个请求URL进行鉴权,而不能仅仅通过客户端的菜单屏蔽或者按钮Disable来限制。

修复方案 :对用户操作进行权限校验,防止通过修改参数进入未授权页面及进行非法操作,建议在服务端对请求的数据和当前用户身份做一个校验检查。流程描述:在服务器接收到用户发送的页面访问请求时,根据预设的识别策略,从用户的页面访问请求中提取该用户对应的用户唯一标识信息,同时提取所述页面访问请求对应的应答页面中的表单及该表单中不可修改参数,将所述表单及不可修改参数与所述用户唯一标识信息绑定后记录到参数列表中;检测到用户提交请求页面的表单时,将所述请求页面的表单及不可修改参数与该用户对应的所述参数列表中记录的表单及不可修改参数进行比对,控制该用户的访问。例如:

登陆时将用户名存入 session
session.setAttribute("username",username);
在相关页面判断
if((String)session.getAttribute("username")!=admin){
(response.sendRedirect("XXX.jsp")};

注意: xxx.jsp为自定义的错误页面。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/315069.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spark SQL中的聚合与窗口函数

Spark SQL是Apache Spark的一个模块,用于处理结构化数据。在数据分析和处理中,聚合和窗口函数是非常重要的工具,它们可以对数据进行各种汇总、计算和分析。本文将深入探讨Spark SQL中的聚合与窗口函数,包括聚合函数、分组操作、窗…

mac中excel条件格式找到每一列的最大值并标红

假设现在excel有A1:R24组数据,最终效果如下 先选择要处理数据的第一列,然后点击【条件格式】-【新建规则】 style选择【classic】以及【Use a formula to determine which cells to format】,输入规则【C3MAX(C$3:C$24)】 注意这里C$3前面没…

极兔速递单号快递查询,将指定派件员的单号筛选出来

在快递行业日益繁荣的今天,我们常常面临的一个问题就是如何更高效地管理快递单号,特别是对于那些经常使用快递服务的消费者和企业来说,快速、准确地筛选和查找快递单号是非常重要的。今天,我要为大家介绍一款很好用的软件——快递…

图像分割实战-系列教程9:U2NET显著性检测实战1

🍁🍁🍁图像分割实战-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 U2NET显著性检测实战1 1、任务概述

加速Python循环的12种方法,最高可以提速900倍

在本文中,我将介绍一些简单的方法,可以将Python for循环的速度提高1.3到900倍。 Python内建的一个常用功能是timeit模块。下面几节中我们将使用它来度量循环的当前性能和改进后的性能。 对于每种方法,我们通过运行测试来建立基线&#xff0…

上海三菱电梯搭建销售节点管理平台,可视化管控销售全流程

上海三菱电梯有限公司 上海三菱电梯有限公司成立于1987年1月,由上海机电股份有限公司和日本三菱电机株式会社等四方合资组成,是由中方控股和管理的中日合资大型电梯企业,是中国机械制造业和外商投资企业500强企业,也是中国机械工…

如何基于 ESP32-S3 和 ESP32-H2 产品构建 WiFi +Thread 边界路由器?

参考文档: Building the images for ESP Thread Border Router and CLI device and forming a Thread network with the devices 硬件准备: ESP32-S3-DevKitC-1ESP32-H2-DevKitM-1 软件准备: esp-idf/ examples/ openthread/ ot_rcp&#x…

红队攻防实战之DC2

吾愿效法古圣先贤,使成千上万的巧儿都能在21世纪的中华盛世里,丰衣足食,怡然自得 0x01 信息收集: 1.1 端口探测 使用nmap工具 可以发现开放了80端口,网页服务器但是可以看出做了域名解析,所以需要在本地完成本地域名…

三、HTML元素

一、HTML元素 HTML 文档由 HTML 元素定义。 *开始标签常被称为起始标签(opening tag),结束标签常称为闭合标签(closing tag)。 二、HTML 元素语法 HTML 元素以开始标签起始。HTML 元素以结束标签终止。元素的内容是…

2024年AI领域的突破性进展预测

🦉 AI新闻 🚀 2024年AI领域的突破性进展预测 摘要:23年被誉为生成式AI之年,24年AI有哪些新突破?GPT-5发布后,LLM在本质上仍然有限,基本的AGI也不足以实现。然而,英伟达高级科学家和…

基于Spring Boot的美妆分享系统:打造个性化推荐、互动社区与智能决策

基于Spring Boot的美妆分享系统:打造个性化推荐、互动社区与智能决策 1. 项目介绍2. 管理员功能2.1 美妆管理2.2 页面管理2.3 链接管理2.4 评论管理2.5 用户管理2.6 公告管理 3. 用户功能3.1 登录注册3.2 分享商品3.3 问答3.4 我的分享3.5 我的收藏夹 4. 创新点4.1 …

C++-友元-string字符串类

1、友元 1.1 概念 类实现了数据的隐藏和封装,类的数据一般定义为私有成员,仅能通过类的成员函数才能读写。如果数据成员定义为公有的,则破坏了类的封装性。但是某些情况下,需要频繁的读写类的成员函数,特别是在对成员函…