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




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