共计 1573 个字符,预计需要花费 4 分钟才能阅读完成。
1.1. 破绽原理
越权破绽是指应用程序未对以后用户操作的身份权限进行严格校验,导致用户能够操作超出本人管理权限范畴的性能,从而操作一些非该用户能够操作的行为。简略来说,就是攻击者能够做一些原本不该他们做的事件(增删改查)。
1.2. 破绽分类
次要分为 程度越权 和 垂直越权 两大类
1.2.1. 程度越权
产生在具备雷同权限级别的用户之间。攻击者通过利用这些破绽,拜访其余用户领有的资源或执行与其权限级别不符的操作。
1.2.2. 垂直越权
产生在具备多个权限级别的零碎中。攻击者通过利用这些破绽,从一个低权限级别跳转到一个更高的权限级别。例如,攻击者从普通用户身份胜利跃迁为管理员。
1.3. 破绽举例
1.3.1. 程度越权
假如一个在线论坛应用程序,每个用户都有一个惟一的用户 ID,并且用户能够通过 URL 拜访他们本人的帖子。应用程序的某个页面的 URL 构造如下:
https://example.com/forum/posts?userId=< 用户 ID>
应用程序应用 userId
参数来标识要显示的用户的帖子。假如 Alice 的用户 ID 为 1,Bob 的用户 ID 为 2。
Alice 能够通过以下 URL 拜访她本人的帖子:
https://example.com/forum/posts?userId=1
当初,如果 Bob 意识到 URL 参数是可变的,他可能尝试批改 URL 参数来拜访 Alice 的帖子。他将尝试将 URL 参数批改为 Alice 的用户 ID(1):
https://example.com/forum/posts?userId=1
如果应用程序没有正确施行访问控制机制,没有验证用户的身份和权限,那么 Bob 将胜利地通过 URL 参数拜访到 Alice 的帖子。
1.3.2. 垂直越权
假如一个电子商务网站,有两种用户角色:普通用户和管理员。普通用户无限的权限,只能查看和购买商品,而管理员则领有更高的权限,能够增加、编辑和删除商品。
在失常状况下,只有管理员能够拜访和执行与商品治理相干的操作。然而,如果应用程序没有正确施行访问控制和权限验证,那么普通用户可能尝试利用垂直越权破绽晋升为管理员角色,并执行未经受权的操作。
例如,普通用户 Alice 可能意识到应用程序的 URL 构造如下:
https://example.com/admin/manage-products
她可能尝试手动批改 URL,将本人的用户角色从普通用户更改为管理员,如下所示:
https://example.com/admin/manage-products?role=admin
如果应用程序没有进行足够的验证和受权查看,就会谬误地将 Alice 的角色更改为管理员,从而使她可能拜访和执行与商品治理相干的操作。
1.4. 破绽危害
具体以理论越权的性能为主,大多危害如下:
- 数据泄露:攻击者能够通过越权拜访敏感数据,如个人信息、财务数据或其余敏感业务数据。这可能导致违反隐衷法规、信用卡信息泄露或个人身份盗用等问题。
- 权限晋升:攻击者可能利用越权破绽晋升其权限级别,取得系统管理员或其余高权限用户的特权。这可能导致对整个零碎的齐全管制,并进行更宽泛的歹意流动。
1.5. 修复倡议
- 施行严格的访问控制:确保在应用程序的各个层面上施行适当的访问控制机制,包含身份验证、会话治理和受权策略。对用户进行适当的身份验证和受权,仅容许其执行其所需的操作。
- 验证用户输出:应该对所有用户输出进行严格的验证和过滤,以避免攻击者通过结构歹意输出来利用越权破绽。特地是对于波及访问控制的操作,必须认真验证用户申请的合法性。
- 最小权限准则:在调配用户权限时,采纳最小权限准则,即给予用户所需的最低权限级别,以限度潜在的越权行为。用户只应具备实现其工作所需的最小权限。
- 平安审计和监控:建设平安审计和监控机制,对系统中的拜访流动进行监督和记录。这能够帮忙检测和响应越权行为,并提供对事件的审计跟踪。