| 关键词:漏洞 权限 控制 用户 数据 垂直 余额 水平 账户 过滤器 |
1 .定义 垂直越权漏洞,也称为权限提升,是一种“基于URL的访问控制”设计缺陷引起的漏洞。由于Web应用程序没有做权限控制或者仅在菜单上做了权限控制,导致恶意用户只要猜测其他管理页面的URL,就可以访问或控制其他角色拥有的数据或页面,达到权限提升的目的。 水平越权漏洞,是一种“基于数据的访问控制”设计缺陷引起的漏洞。由于服务器端在接收到请求数据进行操作时没有判断数据的所属人而导致的越权数据访问漏洞。如服务器端从客户端提交的request参数(用户能够控制的数据)中获取用户id,恶意攻击者通过变换请求ID的值,查看或修改不属于本人的数据。 1.1 垂直越权漏洞 ![]() 1.2 水平越权漏洞 越权删除用户地址 ![]() 某银行水平越权遍历其它账号的余额 该银行越权漏洞存在于涉及转账汇款的地方,选择付款账户时系统会先查询账户的余额,在此处通过遍历账号即可获取到其他人的账户余额,使用burpsuite的intruder功能遍历accountNo查询他人账户余额 ![]() 2.越权漏洞防护 2.1 垂直越权漏洞 垂直越权漏洞:在调用功能之前,验证当前用户身份是否有权限调用相关功能(推荐使用过滤器,进行统一权限验证) ![]() 垂直越权漏洞防护方案:通过全局过滤器来检测用户是否登录,是否对资源具有访问权限。 ![]() 将权限访问规则存入privilege.properties文件中: ![]() 在web.xml中配置过滤器及权限配置文件: ![]() Spring MVC访问控制 Spring Security也提供了“基于URL的访问控制”和“基于Method的访问控制”。 ![]() 2.2 水平越权漏洞 水平越权漏洞:在用户进行操作时,从session中获取用户id,将传入的参数与用户的身份做绑定校验。 ![]() |
| 本文出处: https://www.toutiao.com/a6635539646342234632/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|