OWASP TOP 10 - 4. Небезопасные прямые ссылки на объекты - другой путь, чем ESAPI в JSF 1.2 + JAVA + SEAM
Что-нибудь уже интегрировано в JSF 1.2 или SEAM 2.2.2 для предотвращения прямых ссылок на объекты A4-Insecure
Я знаю функции ESAPI для этого, но я не хочу включать в свой проект другую инфраструктуру, если в этом нет необходимости, есть ли что-то встроенное в JSF или SEAM?
1 ответ
Решение
У вас есть несколько вариантов:
- Проверьте доступ к защищенному ресурсу в ваших инструкциях SQL
- Хэш-карта косвенного объекта - это ужасно простая конструкция, которая буквально состоит из 10 строк кода. Просто заново внедрите и будьте осторожны с источником случайности
- Измените ваши taglibraries, чтобы делать то, что делает ASP.net, то есть проверять флажки, радиогруппы, выборки и т. Д., Которые имеют ограниченный ввод, имеют то же значение, что и один из потенциальных входов, которые были отправлены (т. Е. Если у вас есть "1", "2" и "3", что параметр является одним из этих трех значений. JSF 2 и Rich Faces по-прежнему не поднимают вас до уровня ASP.NET 2.0 базовой разработки программного обеспечения.
- Использование s:validateForm из интеграции Faces для выполнения программного контроля.
Честно говоря, я думаю, что (2) - лучшая альтернатива, так как я знаю, что внедрение ESAPI для J2EE требует немного потише нескольких строк кода. Почему для сопоставления DOR нужен собственный файловый базовый аутентификатор, я не знаю. Я стремился к более слабому соединению в ESAPI для PHP, но я давно уже взломал ESAPI для J2EE.