在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)失效的访问控制的更多相关文章

  1. 框架基础学习之--详解web+maven+spring+mybatis+struts框架文件夹作用

    详解web+maven+spring+mybatis+struts框架文件夹作用 1.程序名 2.Mybatis,mybatis是数据持久层,就是和对象类有关系的东西 3.存放java文件,xml,p ...

  2. ps切图抠图详解-web前端(转)

    网页设计在技术层面上,第一步是美工做出网页效果图,第二步就是网页前端进行网页切图.网页切图工具常用的有fireworks.PS,这里使用PS进行网页切图. 我们通过设计稿,得到我们想要的产出物(如.p ...

  3. 详解web容器 - Jetty与Tomcat孰强孰弱

    Jetty 基本架构 Jetty目前的是一个比较被看好的 Servlet 引擎,它的架构比较简单,也是一个可扩展性和非常灵活的应用服务器.它有一个基本数据模型,这个数据模型就是 Handler(处理器 ...

  4. day08:软件系统的体系结构&Tomcat详解&Web应用&http协议

        day08 软件系统体系结构     常见软件系统体系结构B/S.C/S 1.1 C/S C/S结构即客户端/服务器(Client/Server),例如QQ: 需要编写服务器端程序,以及客户端 ...

  5. 详解springmvc控制登录用户session失效后跳转登录页面

    springmvc控制登录用户session失效后跳转登录页面,废话不多少了,具体如下: 第一步,配置 web.xml <session-config> <session-timeo ...

  6. 详解web.xml中元素的加载顺序

    一.背景 最近在项目中遇到了启动时出现加载service注解注入失败的问题,后来经过不懈努力发现了是因为web.xml配置文件中的元素加载顺序导致的,那么就抽空研究了以下tomcat在启动时web.x ...

  7. web应用配置文件详解(web.xml)

    转载链接地址:http://blog.csdn.net/guihaijinfen/article/details/8363839 <?xml version="1.0" en ...

  8. 详解 Web基本概念

    作为本专栏的第一篇博文,本人将带领同学们初步了解什么是Web,以及有关Web学习的一些基本知识点 那么,话不多说,开始主题的讲解吧: 首先,本人来解释下什么是Web: 概念: 使用浏览器进行访问的应用 ...

  9. 【转】详解web.xml中元素的加载顺序

    顺序为: context-param --> listeners --> filters --> servlets(如DispatcherServlet等) 详见<https: ...

  10. 详解C# 网络编程系列:实现类似QQ的即时通信程序

    https://www.jb51.net/article/101289.htm 引言: 前面专题中介绍了UDP.TCP和P2P编程,并且通过一些小的示例来让大家更好的理解它们的工作原理以及怎样.Net ...

随机推荐

  1. 一个完整的可以输出移动端当前省市(地理坐标)的html页面

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 如何加速C++文件的编译速度?

    一.为什么慢? 重要的一个原因是C++的基本 头文件-源文件的编译模型: 每个源文件为一个编译单元 头文件数量多,可能会包含上百甚至上千个头文件 存在重复解析,每个编译单元中,这些头文件都要从硬盘里读 ...

  3. centos7实现多网卡多线路

    移动线路IP:179.15.5.253 网卡配置内容: TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUT ...

  4. 【WebForms王者归来】在 ASP.NET Core 中运行 WebForms 业务代码,99%相似度!

    1. 先说结论 我们为 ASP.NET Core 带来了全新的 WebForms 开发模式,可以让 20 年前的 WebForms 业务代码在最新的 ASP.NET Core 框架中运行,代码相似度9 ...

  5. 精准管控|AIRIOT数字油库智能化解决方案

      在油库管理的过程中,储油罐区普遍存在分布空间范围广.安全防爆要求高.监控点多.布线复杂.自动化系统集成难度大等问题,传统的油库管理手段相对落后.管理环境复杂,企业在监测监控.设备设施管理.日常运行 ...

  6. Java 对象的揭秘

    前言 作为一个 Java 程序员,我们在开发者最多的操作要属创建对象了.那么你了解对象多少?它是如何创建?如何存储布局以及如何使用的?本文将对 Java 对象进行揭秘,以及讲解如何使用 JOL 查看对 ...

  7. Redis 的简单介绍

    Redis 特点 单线程 执行过程按顺序执行,不会同时执行多个操作,保证操作的原子性,省去了很多上下文切换线程的时间,不必考虑资源竞争和可能出现死锁. 为什么使用单线程 ? 官方FAQ表示:因为 Re ...

  8. File Browser 安装及使用

    最后更新时间:2019年1月16日 大家如果想随时随地查看和修改文件,一般会选择将文件保存至网盘,很方便,而且空间还比较大.但是由于国内的网盘环境现在比较差,再加上我们不可能把所有文件都搬上网盘,那就 ...

  9. Qt-FFmpeg开发-打开本地摄像头录制视频(7)

    音视频/FFmpeg #Qt Qt-FFmpeg开发-打开本地摄像头录制视频[软解码+ OpenGL显示YUV] 目录 音视频/FFmpeg #Qt Qt-FFmpeg开发-打开本地摄像头录制视频[软 ...

  10. no implicit conversion of nil into String

    一.Cocoapod 执行pod install命令时报错 [!] An error occurred while processing the post-install hook of the Po ...