Skip to content

Latest commit

 

History

History
13 lines (7 loc) · 1019 Bytes

参数变化对权限绕过的帮助.md

File metadata and controls

13 lines (7 loc) · 1019 Bytes

一个SpringBoot的服务接口,由管理员创建更新,使用了AOP对接口鉴权,要同时校验两个DePermission,pid对应的DePermission配置的level属性值是5,普通用户的level是1,小于这个level,也就是说,普通用户是没有权限调用这个update方法。 image

再看AOP中的鉴权代码,如果传入的Object为空,则直接返回true
image

于是使用level小于5的普通用户去调用该接口,只传入id指定应用,不传入pid,pid对应的对象就会为空,即可绕过权限校验去更新应用,由于id使用了默认level值,导致了权限绕过。 某些高权限接口的调用,可以尝试删除某些参数再去调用,说不定就可以调用了 image