Пустые страницы и ответы при использовании OWASP CSRF GuardJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Пустые страницы и ответы при использовании OWASP CSRF Guard

Сообщение Anonymous »

Я пытаюсь реализовать OWASP CSRF Guard в обновляемом веб-приложении (написанном на Java 17 и работающем на сервере Tomcat 10.1.25). Мы использовали библиотеку ESAPI, но, поскольку мы использовали из нее только 6 уникальных методов, мы решили использовать библиотеки меньшего размера. Судя по всем исследованиям, которые я провел, мне действительно нужно использовать только OWASP Java HTML Sanitizer и OWASP CSRF Guard. Я внедрил HTML Sanitizer без проблем, но не могу решить некоторые проблемы с помощью CSRF Guard.
Я пытался прочитать и применить пример кода, который у меня есть. найдено:
  • GitHub
  • Ключ для session.getAttribute() имеет значение null при использовании OWASP_CSRFTOKEN в Spring Framework 3.2.4. app
  • Проверка/проверка CSRF не работает с экспортированными военными сборками — при использовании OWASP CSRFGuard
  • OWASP CSRFGuard: в запросе отсутствует необходимый токен
но я, должно быть, не понимаю и не применяю это правильно. Вот что происходит:
  • Я запускаю свое приложение (из Eclipse)
  • сервер запускается без проблем ( Я вижу выходные данные конфигурации csrf Guard)
  • веб-приложение открывается (но изображения и CSS-файлы не загружаются)
  • Я пытаюсь войти в систему в веб-приложение
  • сервлет входа инициализируется, но метод doPost() не запускается
  • это приводит меня к пустая страница
Иногда сразу после запуска приложения я попадал на пустую страницу.
Мой web. xml выглядит так:

Код: Выделить всё

  
Owasp.CsrfGuard.Config
WEB-INF/csrfguard.properties



org.owasp.csrfguard.CsrfGuardServletContextListener



org.owasp.csrfguard.CsrfGuardHttpSessionListener



AccessFilter
wy.web.app.security.AccessFilter


AccessFilter
/* 



CSRFGuard
org.owasp.csrfguard.CsrfGuardFilter


CSRFGuard
/* 



JavaScriptServlet
org.owasp.csrfguard.servlet.JavaScriptServlet



JavaScriptServlet
/JavaScriptServlet



30


login.jsp

Мой файл csrfguard.properties выглядит следующим образом:

Код: Выделить всё

org.owasp.csrfguard.configuration.provider.factory = org.owasp.csrfguard.config.PropertiesConfigurationProviderFactory
org.owasp.csrfguard.Enabled = true

# have test both "true" and "false"
org.owasp.csrfguard.ValidateWhenNoSessionExists = true

org.owasp.csrfguard.TokenLength = 32
org.owasp.csrfguard.TokenName = OWASP-CSRFTOKEN
org.owasp.csrfguard.SessionKey = OWASP-CSRFTOKEN
org.owasp.csrfguard.PRNG = SHA1PRNG
org.owasp.csrfguard.PRNG.Provider = SUN

org.owasp.csrfguard.Ajax = true

org.owasp.csrfguard.LogicalSessionExtractor = org.owasp.csrfguard.session.SessionTokenKeyExtractor

org.owasp.csrfguard.JavascriptServlet.sourceFile = WEB-INF/Owasp.CsrfGuard.js
org.owasp.csrfguard.JavascriptServlet.domainStrict = false
org.owasp.csrfguard.JavascriptServlet.cacheControl = private, maxage=28800, no-cache, no-store, must-revalidate
org.owasp.csrfguard.JavascriptServlet.refererPattern = .*
# have test both "true" and "false"
org.owasp.csrfguard.JavascriptServlet.refererMatchProtocol = false
# have test both "true" and "false"
org.owasp.csrfguard.JavascriptServlet.refererMatchDomain = false
org.owasp.csrfguard.JavascriptServlet.injectIntoForms = true
org.owasp.csrfguard.JavascriptServlet.injectGetForms = true
org.owasp.csrfguard.JavascriptServlet.injectFormAttributes = true
org.owasp.csrfguard.JavascriptServlet.injectIntoAttributes = true
org.owasp.csrfguard.JavascriptServlet.injectIntoDynamicNodes = false
org.owasp.csrfguard.JavascriptServlet.xRequestedWith = OWASP CSRFGuard Project
org.owasp.csrfguard.JavascriptServlet.UnprotectedExtensions = js, css, gif, png, ico, jpg

org.owasp.csrfguard.configOverlay.hierarchy = file:WEB-INF/csrfguard.properties

# Mark the login page as unprotected, at least for testing
org.owasp.csrfguard.unprotected.Login = %servletContext%/login.jsp
org.owasp.csrfguard.unprotected.Error = %servletContext%/error.jsp

# Actions to perform when an attack is detected
# 1. Log the information
org.owasp.csrfguard.action.Log = org.owasp.csrfguard.action.Log
org.owasp.csrfguard.action.Log.Message = Potential cross-site request forgery (CSRF) attack thwarted (user:%user%, ip:%remote_ip%, method:%request_method%, uri:%request_uri%, error:%exception_message%)
# 2. Rotate the token; not supported with AJAX
#org.owasp.csrfguard.action.Rotate = org.owasp.csrfguard.action.Rotate
# 3. Invalidate the token that was misused
#org.owasp.csrfguard.action.Invalidate=org.owasp.csrfguard.action.Invalidate
# 4.  Redirect the user/hacker to a specific page
#org.owasp.csrfguard.action.Redirect = org.owasp.csrfguard.action.Redirect
#org.owasp.csrfguard.action.Redirect.Page = /Owasp.CsrfGuard.Test/error.html
org.owasp.csrfguard.Logger = org.owasp.csrfguard.log.JavaLogger
org.owasp.csrfguard.log.JavaLogger.level = TRACE
org.owasp.csrfguard.Config.Print = true
org.owasp.csrfguard.forceSynchronousAjax = true
Почему не загружается следующая страница? Почему нет ошибок?

Подробнее здесь: https://stackoverflow.com/questions/791 ... csrf-guard
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»