详解Web应用安全系列(4)失效的访问控制

web · 浏览次数 : 0

小编点评

在Web安全中,失效的访问控制(也称为权限控制失效或越权访问)是一个严重的问题,它可能导致用户访问受限资源或执行不允许的操作。这种失效通常是由于Web应用系统未能建立合理的权限控制机制,或者权限控制机制失效所导致的。失效的访问控制可能带来以下危害: - 数据泄漏:攻击者可能通过越权访问获取敏感数据。 - 数据被恶意篡改:攻击者可能通过越权访问修改数据。 - 隐私侵犯:攻击者获取他人个人信息后可能侵犯他人隐私。 - 诈骗实施:获取他人个人信息后转卖给诈骗集团实施诈骗。 - 法律责任与声誉损害:Web应用用户的个人信息数据被非法获取后篡改,可能导致用户利益受损,Web应用提供商也可能面临法律责任和声誉损害。 为了防范失效的访问控制,可以采取以下措施: 1. 访问控制仅在受信任的服务器端强制执行,确保代码或无服务器API无法被攻击者修改。 2. 除公共资源外,默认拒绝所有请求,遵循“最小权限原则”和“默认拒绝原则”。 3. 实施一次访问控制机制并在整个应用程序中重复使用,包括最小化CORS使用。 4. 模型访问控制应强制执行记录所有权,而不是接受用户可以创建、阅读、更新或删除任何记录。 5. 记录访问控制失败,并在适当时提醒管理员。 6. 速率限制API和控制器访问,以最大限度地减少自动攻击工具的伤害。 7. 注销后,JWT令牌应在服务器上失效。 8. 开发人员和QA人员应包括功能访问控制的单元和集成测试。 此外,最近开发的华迅FreeCert平台也是一个很好的实践,它解决了传统云厂商提供的免费证书有效期短和不支持免费申请通配符证书的问题,为开发者提供了一个更方便、经济的解决方案。

正文

在Web安全中,失效的访问控制(也称为权限控制失效或越权访问)是指用户在不具备相应权限的情况下访问了受限制的资源或执行了不允许的操作。这通常是由于Web应用系统未能建立合理的权限控制机制,或者权限控制机制失效所导致的。

危害

  1. 数据泄漏:攻击者可能通过越权访问获取敏感数据,如用户个人信息、财务数据、家庭监控视频等。
  2. 数据被恶意篡改:攻击者可能通过越权访问修改数据,如修改账户余额等。
  3. 隐私侵犯:攻击者获取他人个人信息后可能侵犯他人隐私。
  4. 诈骗实施:获取他人个人信息后转卖给诈骗集团实施诈骗。
  5. 法律责任与声誉损害:Web应用用户的个人信息数据被非法获取后篡改,可能导致用户利益受损,Web应用提供商也可能面临法律责任和声誉损害。

分类

  1. 系统在实现过程中违背了“最小权限原则”或“默认拒绝原则”,导致用户获得了一些特殊权限,而这些特殊权限原本只应该授权给特定的用户或角色。
  2. 通过修改URL地址、内部程序状态、HTML页面,或者使用工具修改API请求的方式绕过访问控制。
  3. 通过提供唯一ID的方式预览或修改其他账户信息及数据。
  4. 未经过访问控制地通过POST、PUT和DELETE方法访问API。
  5. 提权操作,如未登录状态下的用户操作,或者常规用户登录状态下的管理员操作。
  6. 元数据操纵,如重放或修改JWT(JSON Web Token)访问控制令牌,或通过操纵Cookie的方式进行提权。
  7. CORS误配置,可能导致来自未认证源的API访问。

防范措施

  1. 访问控制仅在受信任的服务器端强制执行,确保代码或无服务器API无法被攻击者修改。
  2. 除公共资源外,默认拒绝所有请求,遵循“最小权限原则”和“默认拒绝原则”。
  3. 实施一次访问控制机制并在整个应用程序中重复使用,包括最小化CORS使用。
  4. 模型访问控制应强制执行记录所有权,而不是接受用户可以创建、阅读、更新或删除任何记录。
  5. 记录访问控制失败,并在适当时提醒管理员。
  6. 速率限制API和控制器访问,以最大限度地减少自动攻击工具的伤害。
  7. 注销后,JWT令牌应在服务器上失效。
  8. 开发人员和QA人员应包括功能访问控制的单元和集成测试。
请注意,这些只是一些常见的防范措施,实际的安全策略应根据具体的应用场景和需求进行定制。
 
另外,我最近开发并开源了一个支持免费申请通配符SSL证书的平台:华迅FreeCert,解决了每隔一段时间就要重新申请和部署证书(因为传统的云厂商提供的免费证书一般只有三个月有效期),不支持免费申请通配符证书这两大痛点,欢迎大家注册使用并提供宝贵意见,谢谢!

与详解Web应用安全系列(4)失效的访问控制相似的内容:

详解Web应用安全系列(4)失效的访问控制

在Web安全中,失效的访问控制(也称为权限控制失效或越权访问)是指用户在不具备相应权限的情况下访问了受限制的资源或执行了不允许的操作。这通常是由于Web应用系统未能建立合理的权限控制机制,或者权限控制机制失效所导致的。 危害 数据泄漏:攻击者可能通过越权访问获取敏感数据,如用户个人信息、财务数据、家

详解Web应用安全系列(8)不足的日志记录和监控

在Web安全领域,不足的日志记录和监控是一个重要的安全隐患,它可能导致攻击者能够更隐蔽地进行攻击,同时增加了攻击被检测和响应的难度。以下是对Web攻击中不足的日志记录和监控漏洞的详细介绍。 一、日志记录不足的问题 日志缺失或不完整 关键操作未记录:如用户登录、敏感数据访问、系统管理员操作等关键操作未

详解Web应用安全系列(5)敏感数据泄露漏洞

在最近几年,这是最常见的,最具影响力的攻击。这个领域最常见的漏洞是不对敏感数据进行加密。在数据加密过程中,常见的问题是不安全的密钥生成和管理以及使用弱密码算法,弱协议和弱密码。特别是使用弱的哈希算法来保护密码。在服务端,检测数据传输过程中的数据弱点很容易,但检测存储数据的弱点却非常困难。 敏感数据泄

详解Web应用安全系列(3)失效的身份认证

大多数身份和访问管理系统的设计和实现,普遍存在身份认证失效的问题。会话管理是身份验证和访问控制的基础,并且存在于所有有状态的应用程序中。攻击者可以使用指南手册来检测失效的身份认证,但通常会关注密码转储,字典攻击,或者在类似于钓鱼或社会工程攻击之后,发现失效的身份认证。 确认用户的身份,身份验证和会话

详解Web应用安全系列(2)注入漏洞之XSS攻击

上一篇介绍了SQL注入漏洞,今天我们来介绍另一个注入漏洞,即XSS跨站脚本攻击。XSS 全称(Cross Site Scripting) 跨站脚本攻击, 是Web应用中常见的漏洞。指攻击者在网页中嵌入客户端脚本(一般是JavaScript),当用户浏览此网页时,脚本就会在用户的浏览器上执行,从而达到

详解Web应用安全系列(1)注入漏洞之SQL注入

注入漏洞通常是指在可输入参数的地方,通过构造恶意代码,进而威胁应用安全和数据库安全。常见的注入漏洞包括:SQL注入和XSS跨站脚本攻击。 这篇文章我们主要讲SQL注入,SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加

详解Web应用安全系列(6)安全配置错误

Web攻击中的安全配置错误漏洞是一个重要的安全问题,它涉及到对应用程序、框架、应用程序服务器、Web服务器、数据库服务器等组件的安全配置不当。这类漏洞往往由于配置过程中的疏忽或错误,使得攻击者能够未经授权地访问系统数据或执行系统功能。 安全配置错误类漏洞是指在对Web应用及相关组件进行安全配置时,由

创建nodejs项目并接入mysql,完成用户相关的增删改查的详细操作

本文为博主原创,转载请注明出处: 1.使用npm进行初始化 在本地创建项目的文件夹名称,如 node_test,并在该文件夹下进行黑窗口执行初始化命令 2. 安装 expres包和myslq依赖包 npm i express@4.17.1 mysql2@2.2.5 Express是一个流行的Web应

Python Flask - 快速构建Web应用详解

本文将详细探讨Python Flask Web服务。我将首先简单介绍Flask,然后将逐步进入Flask中的路由、模板、表单处理以及数据库集成等高级概念,目标是能够让大家了解并掌握使用Flask来创建动态Web应用的技巧。 ## 1. Flask简介 Flask是一个轻量级的Web服务器网关接口(W

谈谈 Spring 的过滤器和拦截器

我们在进行 Web 应用开发时,时常需要对请求进行拦截或处理,故 Spring 为我们提供了过滤器和拦截器来应对这种情况。那么两者之间有什么不同呢?本文将详细讲解两者的区别和对应的使用场景。