По умолчанию все веб-приложения, поставляемые с продуктом, защищены от CSRF-атак [1]
Для WSO2 Identity Server конфигурации для защиты от CSRF-атак по умолчанию включены для всех приложений. встроенные в продукт. Следовательно, вам необходимо применить эти конфигурации вручную, только если у вас есть какие-либо пользовательские приложения, развернутые в вашем продукте.
Таким образом, вам не нужно никаких дополнительных настроек.
Согласно к информации, предоставленной в сканировании уязвимостей ZAP, он определяет запрос commonauth внутри веб-приложения аутентификации конечной точки как уязвимость. Это неправильно, позвольте мне объяснить, почему.
Что такое веб-приложение конечной точки проверки подлинности и запрос commonauth?
На сервере идентификации WSO2 конечная точка проверки подлинности обслуживает вход в систему, подтверждает страницы во время проверки подлинности. А действия пользователя (такие как учетные данные, код OTP, объединенные потоки входа в систему, утверждение согласия) отправляются на сервер с использованием запроса commonauth. Таким образом, эти взаимодействия происходят из браузера до того, как пользователь не аутентифицируется.
Что такое CSRF? [2]
Подделка межсайтовых запросов (также известная as CSRF) - это уязвимость в веб-безопасности, которая позволяет злоумышленнику побудить пользователей выполнить действия, которые они не собираются выполнять.
Так как пользователь еще не прошел проверку подлинности, дополнительных преимуществ нет. злоумышленник может получить доступ, отправив эти страницы аутентификации.
Таким образом, они настроены на пропуск из защиты CSRF. Вы можете проверить эти конечные точки в файле IS_HOME / repository / conf / security / Ow asp .CsrfGuard.Carbon.properties
# please remove the below entry to enable protection for services.
org.owasp.csrfguard.unprotected.Services=%servletContext%/services/*
org.owasp.csrfguard.unprotected.commonauth=%servletContext%/commonauth/*
org.owasp.csrfguard.unprotected.samlsso=%servletContext%/samlsso/*
org.owasp.csrfguard.unprotected.authenticationendpoint=%servletContext%/authenticationendpoint/*
org.owasp.csrfguard.unprotected.wso2=%servletContext%/wso2/*
org.owasp.csrfguard.unprotected.oauth2=%servletContext%/oauth2/*
org.owasp.csrfguard.unprotected.oidc=%servletContext%/oidc/*
org.owasp.csrfguard.unprotected.openid=%servletContext%/openid/*
org.owasp.csrfguard.unprotected.openidserver=%servletContext%/openidserver/*
org.owasp.csrfguard.unprotected.passivests=%servletContext%/passivests/*
org.owasp.csrfguard.unprotected.acs=%servletContext%/acs/*
org.owasp.csrfguard.unprotected.iwa=%servletContext%/iwa/*
org.owasp.csrfguard.unprotected.oauthiwa=%servletContext%/commonauth/iwa/*
org.owasp.csrfguard.unprotected.thrift=%servletContext%/thriftAuthenticator/*
org.owasp.csrfguard.unprotected.mex=%servletContext%/mexut/*
org.owasp.csrfguard.unprotected.identity=%servletContext%/identity/*
Как видите, это конечные точки, используемые в потоках аутентификации.
[1] - https://is.docs.wso2.com/en/5.9.0/administer/mitigating-cross-site-request-forgery-attacks/#configuring -applications-in-wso2-product-to-mitigate-csrf-attack
[2] - https://portswigger.net/web-security/csrf