Bug Bounty Tip | 一次权限绕过


  • 绕过原理

  • 绕过方式

  • 案例


绕过原理

在java开发的过程中,经常使用一些权限拦截器配置某些url需要认证才能够访问,如果配置不当攻击者可通过构造特殊url来绕过拦截器来获取访问权限。

可以参考一下shiro权限绕过的思路。

绕过方式

构造如/xxx/xxx/login/../xxx/xxx/xxx等形式的url以绕过拦截器。

案例

具体原理:

权限拦截器可能对于/saat/login.spr/**,这种路由全部放行,不进行权限鉴别。正常用户访问该url只是在进行登陆。因此无需进行鉴别权限。

用户在访问某些功能点路由的时候,例如访问/saat/combService这种路由,通常是需要权限才可以访问,因此后端对这种路由进行权限鉴别。

那么当我们访问/saat/login.spr/../combService/com.spr的时候,拦截器匹配以上url不进行权限相关校验,然后又因为../路径穿越,可以回到/saat/combService。此时可以绕过权限限制正常访问功能点。

正常访问目标功能点

http://ip:port/saat/combService/com.spr?method=call

Bug Bounty Tip | 一次权限绕过

观察com文件到后缀为spr,所以登陆的后缀会不会是login.spr?构造如下路径,以绕过访问控制

http://ip:port/saat/login.spr/../combService/com.spr?method=call

Bug Bounty Tip | 一次权限绕过

其他功能点也可以按照该思路绕过



原文始发于微信公众号(不懂安全的果仁):Bug Bounty Tip | 一次权限绕过

版权声明:admin 发表于 2022年11月16日 上午9:11。
转载请注明:Bug Bounty Tip | 一次权限绕过 | CTF导航

相关文章

暂无评论

暂无评论...