boxmoe_header_banner_img

⋅無⋅限⋅進⋅步⋅

加载中

文章导读

越权漏洞


avatar
yuhui 2025年10月24日 31

越权漏洞

概述

越权访问(Broken Access Control,简称 BAC)是 Web 应用程序中一种常见的漏洞,由于其存在范围广、危害大,被 OWASP 列为 Web 应用十大安全隐患的第二名

该漏洞是指应用在检查授权时存在纰漏,使得攻击者在获得低权限用户账户后,利用一些方式绕过权限检查,访问或者操作其他用户或者更高权限。越权漏洞的成因主要是因为开发人员在对数据进行增、删、改、查询时对客户端请求的数据过分相信而遗漏了权限的判定,一旦权限验证不充分,就易致越权漏洞

越权漏洞的分类

水平越权(平行越权)

水平越权:指相同权限下不同的用户可以互相访问

登录普通账号,修改查询的 id 或者用户

1746424115960-d2769c4d-6b1b-42da-853e-18380c091dcb.png

水平越权代码分析

1746424131216-b6dcbf14-ad6a-416a-a84c-b12409b89d4a.png

username 传入在此之前没有任何验证,传入参数拼接到数据库查询了。没有进行验证权限验证

垂直越权

垂直越权是不同级别之间或不同角色之间的越权,一般是低权限用户往高权限越权

垂直越权漏洞利用

准备两个不同权限的账号 分别登录同一个网站,查看低权限的缺少高权限那些模块,抓取高权限的的模块 请求参数,再切换低权限用户再进行提交、

管理员 admin 123456 普通用户 pikachu 000000

管理员权限

1746424193846-b2e7f48c-f157-4947-9355-7f30f8502512.png

普通权限

1746424203404-1de2cfcb-2581-461a-81ee-19de13fafbbc.png

1746424211526-cd6bd20f-38ac-47b5-9e15-a7d9f65883b1.png

把 admin cookie 替换成 pikachu 的 cookie

1746424221492-ab5af1a2-efe0-41fa-a5a5-59fab2cf0fc6.png

把原来 admin 的 cookie 替换成 pikachu 用户的 cookie

1746424238107-39d3b96b-3d00-4bc0-bb24-c226aa0bcf50.png

越权成功,将会添加一个 moonsec 用户

垂直越权代码分析

登录账号和密码,在数据库中,返回 level 如果等于 1 跳转管理员页面

1746424262774-9d227c43-69b5-4570-96ca-1a4caacde8cd.png如果等于 2 就进行用户页面

1746424271091-f1adde90-78ee-4365-9765-e3774bb10a8d.png

在 op2_admin_edit.php 源码中,只是判断是否登录,并没有对用户权限进行验证,只要是登录就能往下操作,这个页面的添加账号信息。所以登录的任何用户只要提交参数即可创建用户

越权漏洞修复方案

越权漏洞修复方案

1、基础安全架构,完善用户权限体系。要知道哪些数据对于哪些用户,哪些数据不应该由哪些用户操作;

2、鉴权,服务端对请求的数据和当前用户身份做校验;

3、不要直接使用对象的实名或关键字。

4、对于可控参数进行严格的检查与过滤!

更新: 2025-05-05 13:53:10
原文: https://www.yuque.com/yuhui.net/network/mrog5mx705x4is87



评论(0)

查看评论列表

暂无评论


发表评论

表情 颜文字

插入代码