当前位置:   article > 正文

解决BladeX微服务Swagger资源未授权访问漏洞_bladex框架漏洞

bladex框架漏洞

1.问题描述

客户线上环境,第三方进行安全检测时候,反馈来一个"Spring"接口未授权访问漏洞。如图:

2.后端框架

服务平台后端采用开源框架BladeX微服务版本。BladeX 是由一个商业级项目升级优化而来的SpringCloud微服务架构,采用Java8 API重构了业务代码,完全遵循阿里巴巴编码规范。采用Spring Boot 2 、Spring Cloud Greenwich 、Mybatis 等核心技术,同时提供基于React和Vue的两个前端框架用于快速搭建企业级的SaaS微服务系统平台。

3.问题定位

BladeX微服务框架中,gateway作为API的网关,是所有请求的闸口,可以通过入口位置对Swagger资源进行访问拦截,可以解决资源暴露问题。
  1. 查找网关模块中,关于“swagger-resources”资源路由规则,获取资源处理器,如下图:
  2.  查看gateway模块中的Swagger资源处理器源码,可见该资源处理器除了响应资源外,并没有其他处理,如下图:

4.解决方法

既然找到了gateway对swagger资源的处理器,直接修改该处理器,添加拦截规则就行了。本示例在添加拦截时候,判断了一下环境参数。只有生产环境才拦截swagger资源访问,开发和测试环境还是允许访问swagger资源,方便调试。再进一步的话,还可以将该参数作为一项配置进行处理,匹配对应的启动环境。具体代码如下:

  1. /*
  2. * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/739312
推荐阅读
相关标签
  

闽ICP备14008679号