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

简介: 代码审计——垂直越权详解

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 修复方案



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

目录
相关文章
|
SQL 监控 druid
Druid未授权访问 漏洞复现
Druid未授权访问 漏洞复现
19152 0
|
安全 Java API
解决 Swagger API 未授权访问漏洞:完善分析与解决方案
Swagger 是一个用于设计、构建、文档化和使用 RESTful 风格的 Web 服务的开源软件框架。它通过提供一个交互式文档页面,让开发者可以更方便地查看和测试 API 接口。然而,在一些情况下,未经授权的访问可能会导致安全漏洞。本文将介绍如何解决 Swagger API 未授权访问漏洞问题。
|
Prometheus 监控 安全
SpringBoot Actuator未授权访问漏洞的解决方法
SpringBoot Actuator未授权访问漏洞的解决方法Actuator 是 SpringBoot 提供的用来对应用系统进行自省和监控的功能模块,借助于 Actuator 开发者可以很方便地对应用系统某些监控指标进行查看、统计等。
31406 0
|
应用服务中间件 nginx 网络协议
|
存储 监控 安全
|
存储 域名解析 监控
云上攻防:任意上传、域名接管与AK/SK泄漏
随着企业上云的趋势加剧,云安全成为新的焦点。本文探讨了云计算环境中的三大安全问题:任意上传、域名接管与AK/SK泄漏,分析了这些威胁的工作原理及防护措施,强调了数据保护和访问控制的重要性。通过阿里云等平台的实际案例,提供了具体的安全防范建议。
1699 2
云上攻防:任意上传、域名接管与AK/SK泄漏
|
安全 测试技术 Python
XSS 检测神器:XSSfork 保姆级教程
XSS 检测神器:XSSfork 保姆级教程
XSS 检测神器:XSSfork 保姆级教程
|
SQL 安全 数据处理
Web 测试神器:HackBar 保姆级教程
Web 测试神器:HackBar 保姆级教程
|
JSON JavaScript 安全
XSS 检测神器:XSStrike 保姆级教程
XSS 检测神器:XSStrike 保姆级教程