Фильтр Stinger и фильтр проверки параметров

Я новичок в безопасности Java, мне нужно внедрить валидатор ввода в мой проект, мы используем struts 2.5.13 и тестируем с помощью инструмента безопасности Contrast.

У нас была одна уязвимость, показанная контрастным инструментом, и это «Внедрение языка выражений». Во время моего исследования на веб-сайте Owasp я видел два проекта: один - Стингер фильтр, а другой - Фильтр проверки параметров. Я сбит с толку и не могу решить, какой из них лучше и может обеспечить большую защиту моего приложения.

Любой из экспертов по безопасности может ответить на этот вопрос, я хотел бы знать, что думают о обоих проектах, о том, какой из них мне следует использовать, и почему вы думаете, что это лучше.

Буду благодарен вам, если вы дадите мне подробную информацию и поможете понять принципы безопасности.

Здесь могут быть эксперты по безопасности security.stackexchange.com ... Думаю, ваш вопрос может показаться здесь слишком общим.

GhostCat 10.06.2018 13:59

Если вы пытаетесь защитить свой сайт, задавать вопросы незнакомцам в Интернете, вероятно, не является правильным подходом. Нанять эксперта.

Boris the Spider 10.06.2018 13:59
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
169
1

Ответы 1

И Стингер, и ПВФ - древние. Я бы тоже не стал использовать. К счастью, вам не нужна проверка. Вам необходимо предотвратить попадание ненадежного ввода (например, параметра HTTP) в Expression Engine. Так что посмотрите на полный набор, который дает вам Contrast. Найдите в своем коде, где это происходит. Тогда исправь. К сожалению, проблема может быть не в вашем коде, а в самом Struts. В этом случае вам следует перейти на последнюю версию. Если это не решит проблему, значит, вы обнаружили новую уязвимость в Struts - ждут слава и удача. Или вы можете просто включить Contrast Protect, чтобы предотвратить использование всех уязвимостей EL.

Другие вопросы по теме