场景
安全扫描,扫描到了swaggerui未授权访问漏洞。
请求描述:
{"url":"http://10.12.180.159:15065//swagger-resources",
"method":"GET","params":[]}
返回报文:
[
{
"name": "default",
"location": "/v2/api-docs",
"swaggerVersion": "2.0"
}
]
这在安全来说,涉及到数据泄露,因此需要修复。
解决方案
通过配置修复
一般来说,引入swagger的时候都应该留有开关。 这样的话,通过配置就能解决。
例如:
swagger.enabled=false
或:
knife4j:
enable: false
knife4j是一种集成了swagger和openapi的框架,所以有时是这个配置。
调整代码修复
这和上面说的配置调整,其实算是一回事,就是在swagger配置类里面加开关(方式不只一种,起到效果即可)。
例如:
@Configuration
@EnableSwagger2
@ConditionalOnProperty(name="swagger.enabled",havingValue = "true")
public class SwaggerConfig {
}
当然,如果确定不用。 更简单粗暴的办法是直接注释掉这个类,也是可以的。