详解Web应用安全系列(4)失效的访问控制
在Web安全中,失效的访问控制(也称为权限控制失效或越权访问)是指用户在不具备相应权限的情况下访问了受限制的资源或执行了不允许的操作。这通常是由于Web应用系统未能建立合理的权限控制机制,或者权限控制机制失效所导致的。
危害
- 数据泄漏:攻击者可能通过越权访问获取敏感数据,如用户个人信息、财务数据、家庭监控视频等。
- 数据被恶意篡改:攻击者可能通过越权访问修改数据,如修改账户余额等。
- 隐私侵犯:攻击者获取他人个人信息后可能侵犯他人隐私。
- 诈骗实施:获取他人个人信息后转卖给诈骗集团实施诈骗。
- 法律责任与声誉损害:Web应用用户的个人信息数据被非法获取后篡改,可能导致用户利益受损,Web应用提供商也可能面临法律责任和声誉损害。
分类
- 系统在实现过程中违背了“最小权限原则”或“默认拒绝原则”,导致用户获得了一些特殊权限,而这些特殊权限原本只应该授权给特定的用户或角色。
- 通过修改URL地址、内部程序状态、HTML页面,或者使用工具修改API请求的方式绕过访问控制。
- 通过提供唯一ID的方式预览或修改其他账户信息及数据。
- 未经过访问控制地通过POST、PUT和DELETE方法访问API。
- 提权操作,如未登录状态下的用户操作,或者常规用户登录状态下的管理员操作。
- 元数据操纵,如重放或修改JWT(JSON Web Token)访问控制令牌,或通过操纵Cookie的方式进行提权。
- CORS误配置,可能导致来自未认证源的API访问。
防范措施
- 访问控制仅在受信任的服务器端强制执行,确保代码或无服务器API无法被攻击者修改。
- 除公共资源外,默认拒绝所有请求,遵循“最小权限原则”和“默认拒绝原则”。
- 实施一次访问控制机制并在整个应用程序中重复使用,包括最小化CORS使用。
- 模型访问控制应强制执行记录所有权,而不是接受用户可以创建、阅读、更新或删除任何记录。
- 记录访问控制失败,并在适当时提醒管理员。
- 速率限制API和控制器访问,以最大限度地减少自动攻击工具的伤害。
- 注销后,JWT令牌应在服务器上失效。
- 开发人员和QA人员应包括功能访问控制的单元和集成测试。
详解Web应用安全系列(4)失效的访问控制的更多相关文章
- 框架基础学习之--详解web+maven+spring+mybatis+struts框架文件夹作用
详解web+maven+spring+mybatis+struts框架文件夹作用 1.程序名 2.Mybatis,mybatis是数据持久层,就是和对象类有关系的东西 3.存放java文件,xml,p ...
- ps切图抠图详解-web前端(转)
网页设计在技术层面上,第一步是美工做出网页效果图,第二步就是网页前端进行网页切图.网页切图工具常用的有fireworks.PS,这里使用PS进行网页切图. 我们通过设计稿,得到我们想要的产出物(如.p ...
- 详解web容器 - Jetty与Tomcat孰强孰弱
Jetty 基本架构 Jetty目前的是一个比较被看好的 Servlet 引擎,它的架构比较简单,也是一个可扩展性和非常灵活的应用服务器.它有一个基本数据模型,这个数据模型就是 Handler(处理器 ...
- day08:软件系统的体系结构&Tomcat详解&Web应用&http协议
day08 软件系统体系结构 常见软件系统体系结构B/S.C/S 1.1 C/S C/S结构即客户端/服务器(Client/Server),例如QQ: 需要编写服务器端程序,以及客户端 ...
- 详解springmvc控制登录用户session失效后跳转登录页面
springmvc控制登录用户session失效后跳转登录页面,废话不多少了,具体如下: 第一步,配置 web.xml <session-config> <session-timeo ...
- 详解web.xml中元素的加载顺序
一.背景 最近在项目中遇到了启动时出现加载service注解注入失败的问题,后来经过不懈努力发现了是因为web.xml配置文件中的元素加载顺序导致的,那么就抽空研究了以下tomcat在启动时web.x ...
- web应用配置文件详解(web.xml)
转载链接地址:http://blog.csdn.net/guihaijinfen/article/details/8363839 <?xml version="1.0" en ...
- 详解 Web基本概念
作为本专栏的第一篇博文,本人将带领同学们初步了解什么是Web,以及有关Web学习的一些基本知识点 那么,话不多说,开始主题的讲解吧: 首先,本人来解释下什么是Web: 概念: 使用浏览器进行访问的应用 ...
- 【转】详解web.xml中元素的加载顺序
顺序为: context-param --> listeners --> filters --> servlets(如DispatcherServlet等) 详见<https: ...
- 详解C# 网络编程系列:实现类似QQ的即时通信程序
https://www.jb51.net/article/101289.htm 引言: 前面专题中介绍了UDP.TCP和P2P编程,并且通过一些小的示例来让大家更好的理解它们的工作原理以及怎样.Net ...
随机推荐
- 兼容ie8问题
<!-- 让IE8/9支持媒体查询,从而兼容栅格 --><!--[if lt IE 9]><script src="https://cdn.staticfile ...
- 开启 ssh 服务
开启 ssh 服务 vim /etc/ssh/sshd_config 重启 ssh 服务:/etc/init.d/ssh restart 设置服务自启动:update-rc.d ssh enable
- phpstudy8.1安装与配置
环境: window10 phpstudy8.1.1.3 Vmware安装centos7.6 使用场景 window10安装mysql和redis 在Vmware安装centos7.6 桥接模式上网 ...
- gin框架获取参数
目录 httpext包 获取header头里的参数: scene := httpext.GetHeaderByName(ctx, "scene") // online / dev ...
- golang之UrlEncode编码/UrlDecode解码
为什么需要编码和解码 1.是因为当字符串数据以url的形式传递给web服务器时,字符串中是不允许出现空格和特殊字符的: 2.因为 url 对字符有限制,比如把一个邮箱放入 url,就需要使用 urle ...
- PCI-E与SATA SSD
为什么要采用PCI-E通道 目前在固态硬盘SSD中,有一部分采用了SATA3.0接口,而一些高端的固态硬盘则采用了PCI-E接口.那么为什么高端固态硬盘要采用PCI-E接口呢?为了弄清楚这个问题,先看 ...
- WEB服务与NGINX(4)-NGINX实现虚拟主机
目录 1 http基础配置参数详解 2 搭建虚拟主机 2.1 基于ip的虚拟主机 2.2 基于端口的虚拟主机 2.3 基于域名的虚拟主机 1 http基础配置参数详解 [root@nginx01 ~] ...
- 让AnaTraf成为您网络流量分析的最佳利器
在快速发展的数字时代,企业对网络性能的监测与分析需求愈加旺盛.作为网络性能监测与诊断(NPMD)领域的佼佼者,AnaTraf网络流量分析仪凭借其出色的性能和易用性,正成为网络管理人员的首选工具. An ...
- Redis高可用二( 哨兵sentinel)
Redis高可用二( 哨兵sentinel) 1.主从配置 2.配置哨兵 sentinel.conf # Example sentinel.conf bind 0.0.0.0 protected-mo ...
- BigDecimal类的基本使用
概述 java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算.双精度浮点型变量double可以处理16位有效数.在实际应用中,需要对更大或者更小的 ...