2023最新修复权限漏洞文案:水平权限漏洞、垂直权限漏洞

文章讨论了Web应用中的水平和垂直权限漏洞,前者涉及用户数据篡改,后者关乎权限提升。修复水平权限漏洞的建议包括在数据接口层添加权限控制或在Web层做鉴权;垂直权限漏洞则需对URL资源进行权限验证。同时,提出了加密ID、使用UUID和增加发布人字段等额外的安全措施。
摘要由CSDN通过智能技术生成

水平权限漏洞是指Web应用程序接收到用户请求时,没有判断数据的所属人,或者在判断数据所属人时是从用户提交的参数中获取了userid,导致攻击者可以自行修改userid修改不属于自己的数据。

漏洞示例:

XXX/getAddress?id=1

如上,攻击者修改addressId即可得到他人的address信息。开发容易习惯性的在生成CRUD(增查改删)表单(或AJAX请求)的时候根据认证过的用户身份来找出其有权限的被操作对象的id来提供入口,然后让用户提交请求,并根据这个id来操作相关对象。在处理CRUD请求时,都天真地默认只有有权限的用户才知道这个入口,进而才能操作相关对象,因此就不再校验权限了。可悲剧的是大多数对象的ID都被设置为自增整型,所以攻击者只要对相关id加1、减1、直至遍历,就可以操作其他用户所关联的对象了。

修复方案:

1、最正规的方案:把权限的控制转移到数据接口层中,避免出现select/update/delete ... where addressID=#addressID#的SQL语句,使用select/update/delete... where addressID=#addressID# and ownerId=#userId#来代替,要求web层在调用数据接口层的接口时额外提供userid,而这个userid在web层看来通常只能通过seesion来取到,以防用户造假。但这个方案的缺陷在于实现起来要改动底层的设计,所以不适合作为修复方案,更适合作为在最开始设计时的统一控制方案。

2、最直接有效的修复方案:在web层的逻辑中做鉴权,检查提交CRUD请求的操作者(通过session或token等加密信息中得到,以防造假)与目标对象的权限所有者是否一致,如果不一致则阻断。这个方案实现成本低、能确保漏洞的修复质量,缺点是增加了一次查库操作。我之前一直用这种方案来对已发生的水平权限漏洞做紧急修复。

另外的方法:

1、可对ID加密

2、使用UUID

3、每一个信息增加一个发布人的字段,修改的人必须与发布的人为同一个人才可以访问

垂直权限漏洞是指Web应用没有做权限控制,或仅仅在菜单上做了权限控制,导致恶意用户只要猜到了其他页面的URL,就可以访问或控制其他角色拥有的数据或页面,达到权限提升的目的。

修复方案:

只需要对url资源进行权限验证即可。

   黑客学习资源分享

 需要点击下方链接即可前往获取:

CSDN大礼包:《对标阿里黑客&网络安全入门&进阶学习资源包》免费分享

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。对标机关单位最系统的学习路线,大家跟着这个大的方向学习准没问题。

 同时每个成长路线对应的板块都有配套的视频提供:

视频配套资料&国内外网安书籍、文档&工具

当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

 因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取:

CSDN大礼包:《对标阿里黑客&网络安全入门&进阶学习资源包》免费分享

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网络安全技术库

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值