代码审计——垂直越权详解

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
云原生网关 MSE Higress,422元/月
简介: 代码审计——垂直越权详解

01 漏洞描述


垂直越权,也称权限提升,是一种“基于URL的访问控制”设计缺陷引起的漏洞。

由于Web应用程序没有做权限控制或者仅在菜单上做了权限控制,导致的恶意用户只要猜测其他管理页面的URL,就可以访问或控制其他角色拥有的数据或页面,达到权限提升目的。

image.png



02 审计要点



垂直越权漏洞发生的根本原因是系统没有设置完善的权限控制机制,因此审计的重点在于功能点是否设置了权限控制机制。


03 漏洞特征

垂直越权是一种URL的访问控制设计缺陷引起的漏洞,由于未对URL设定严格的用户访问控制策略,导致普通用户也可以通过发送请求的方式访问本应仅高权限用户才可访问的页面。

Java

@RequestMapping(value = "delete")
public String delete(HttpServletRequest request, @RequestParam Long id)
            throws Exception {
   
   
        try {
   
   
            userManager.delete(id);
            request.setAttribute("msg", "删除用户成功");
        } catch (ServiceException e) {
   
   
            // logger.error(e.getMessage(), e);
            request.setAttribute("msg", "删除用户失败");
        }
        return list(request);

上述代码是一段管理员删除用户操作的代码,若在操作时未对访问请求者的权限做判断,那么攻击者就可以构造请求http://xxx.xxx.xxx/user/delete?id=1”来做只有管理员才有权限干的事情。

04 漏洞案例

image.png

代码层面观察对功能的判断是否存在校验机制或安全框架,若未存在明显校验代码,则存在垂直越权风险。

以下为3例垂直越权的功能点示例:

案例1:

登录到超级管理员用户,执行添加用户的操作,并且对过程进行抓包

image.png

切换到普通的管理员用户,并没有添加用户的权限,将其cookie替换到先前抓取的添加用户请求的cookie

image.png

发现新建了一个相同的用户,此为垂直越权

image.png



案例2:

使用高权限用户访问,可以获取所有用户的信息的权限
image.png


切换到普通用户,并没有查询所有用户的权限,将其cookie替换到先前抓取的请求包

image.png

发现成功查询所有用户信息,此为垂直越权

image.png


案例3:

某站点后台仅使用js跳转来限制未授权的用户访问

image.png


去掉js可以成功访问后台,且可以进行操作

image.png



05 修复方案



建议进行关键业务的操作时,应校验用户的会话然后根据会话获取对应的字段进行业务操作,切记不可以不校验会话的情况下允许用户操作关键性业务功能。

目录
相关文章
|
安全 前端开发 数据安全/隐私保护
BurpSuite进阶篇--自动化挖掘越权漏洞
BurpSuite进阶篇--自动化挖掘越权漏洞
694 0
|
8月前
|
SQL 云安全 安全
怎么做好代码审计
代码审计,顾名思义,是一种对软件源代码进行系统性的检查和分析过程,旨在发现源代码中的安全缺陷、性能问题以及其他可能存在的缺陷。这是一种重要的软件质量保障手段,尤其在安全领域中占据着举足轻重的地位。
|
8月前
|
XML 云安全 安全
了解常见的web漏洞-XXE漏洞,日常如何做好web安全
随着网络技术的不断发展,网站安全问题日益受到人们的关注。当前随着技术发展,网站存在一些常见的可能被攻击者利用的漏洞,而在众多网站安全漏洞中,XXE(XML External Entity)漏洞是一个不容忽视的问题。今天我们就来分享了解一下关于XXE漏洞的概念、原理以及日常上有哪些可以措施可以防护网站安全。
Potato土豆提权工具绕过防护思路-1
Potato土豆提权工具绕过防护思路-1
227 0
|
监控 安全 数据安全/隐私保护
详解越权漏洞
1.1. 漏洞原理 越权漏洞是指应用程序未对当前用户操作的身份权限进行严格校验,导致用户可以操作超出自己管理权限范围的功能,从而操作一些非该用户可以操作的行为。 简单来说,就是攻击者可以做一些本来不该他们做的事情(增删改查) 。
1929 0
|
SQL 监控 安全
发卡系统代码审计
发卡系统代码审计
|
数据采集 安全 前端开发
|
SQL 移动开发 供应链
网站代码审计漏洞查找技术是如何炼成的?
常常许多人问过那样一个难题,网络黑客是确实那么强大吗?就现阶段来讲,在黑客游戏或影视剧中,网络黑客所展现的工作能力与实际是相差无异的(黑客帝国此类种类以外)。唯一的差别是影视剧中的主人公可以瞬间控制供电系统,导致大城市电力工程偏瘫。走在路上任意监听所有人。
381 0
网站代码审计漏洞查找技术是如何炼成的?
|
弹性计算 安全 前端开发
虚拟币安全防护 渗透测试中发现的越权漏洞分析与修复
在对客户网站以及APP进行渗透测试服务时候,越权漏洞对业务系统的正常运转影响很大,很多客户网站信息被泄露,数据库被篡改一大部分原因跟越权漏洞有关,前端时候某金融客户因为数据被泄露,通过老客户介绍,找到我们SINE安全做渗透测试服务,找出数据被泄露的原因以及目前网站APP存在的未知漏洞,根据我们十多年的渗透经验来分享这次网站安全测试的整个过程。
291 0
虚拟币安全防护 渗透测试中发现的越权漏洞分析与修复
|
存储 安全 中间件
网站漏扫服务换个思路提高渗透测试效率
在渗透测试过程中,我们可以通过插件识别类型后,使用漏洞脚本对特定系统进行模糊。在这里,笔者将与大家分享漏洞POC验证系统的设计和研究思路。在系统开发之初,选用了分布式平台设计架构。后来因为考虑到与分布式资产扫描平台兼容的接口,最后理解了耦合机制,彻底变成了单机版。首先我们可以看到这个地方没有单独设计web管理端,只能通过命令行调度。但是,在设计中,守护进程restapi是保留的,它可以接受来自第三方平台的调度请求。插件模块调用方面,主要有三个模块:流行的漏洞插件,主要用于重现常见的手工测试方法和一些团队发现的内部漏洞。密码漏洞插件:主要包括端口、中间件、未授权应用和弱密码漏洞,包括弱密码字典。
260 0
网站漏扫服务换个思路提高渗透测试效率