You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
isSkip() method in AuthFilter.java, url.replace(AuthProvider.TARGET, AuthProvider.REPLACEMENT)) is equal to url.replace("/**", ""), which is to remove /** in defaultSkipUrl then determines whether the path contains one of the URLs.
Note that contains is used, that is, path::contains, which means that as long as the incoming path contains the URL in /token or defaultSkipUrl, authorization can be bypassed.
You can use the URL parsing feature to add ;%2ftoken after the request to be considered that the Url contains the /token, and the route can be correctly resolved by the gateway, resulting in unauthorized access.
The origin without Blade-Auth is blocked. http://localhost/blade-gateway/discovery/instances
Add %2ftoken to the end of the URL to bypass authorization. http://localhost/blade-gateway/discovery/instances;%2ftoken
The text was updated successfully, but these errors were encountered:
src/main/java/org/springblade/gateway/filter/AuthFilter.java
isSkip()
method inAuthFilter.java
,url.replace(AuthProvider.TARGET, AuthProvider.REPLACEMENT))
is equal tourl.replace("/**", "")
, which is to remove/**
indefaultSkipUrl
then determines whether the path contains one of the URLs.Note that contains is used, that is,
path::contains
, which means that as long as the incoming path contains the URL in/token
ordefaultSkipUrl
, authorization can be bypassed.You can use the URL parsing feature to add
;%2ftoken
after the request to be considered that the Url contains the/token
, and the route can be correctly resolved by the gateway, resulting in unauthorized access.The origin without Blade-Auth is blocked.
http://localhost/blade-gateway/discovery/instances
Add
%2ftoken
to the end of the URL to bypass authorization.http://localhost/blade-gateway/discovery/instances;%2ftoken
The text was updated successfully, but these errors were encountered: