Apache Struts 2 — это фреймворк веб-приложений с открытым исходным кодом для разработки веб-приложений Java EE . Он использует и расширяет API Java Servlet, чтобы побудить разработчиков принять архитектуру модель–представление–контроллер (MVC). Фреймворк WebWork отделился от Apache Struts 1 с целью предложить улучшения и усовершенствования, сохранив при этом общую архитектуру исходного фреймворка Struts. В декабре 2005 года было объявлено, что WebWork 2.2 был принят как Apache Struts 2, который достиг своего первого полного релиза в феврале 2007 года. [2]
Struts 2 имеет историю критических ошибок безопасности, [3] многие из которых связаны с использованием технологии OGNL ; [4] некоторые уязвимости могут привести к выполнению произвольного кода . В октябре 2017 года сообщалось, что неспособность Equifax устранить уязвимость Struts 2, о которой сообщалось в марте 2017 года, впоследствии была использована в утечке данных , которая была раскрыта Equifax в сентябре 2017 года . [5] [6]
↑ О Apache Struts 2 Архивировано 14 января 2014 г. на Wayback Machine
^ "Apache Struts: Список уязвимостей безопасности". cvedetails.com . Получено 2 октября 2017 г.
^ Муньос, Альваро (14 января 2014 г.). «Struts 2: OGNL Expression Injections». HPE.com . Архивировано из оригинала 3 октября 2017 г. Получено 2 октября 2017 г.
^ Чиргвин, Ричард (2 октября 2017 г.). «Equifax не удалось найти или исправить уязвимые реализации Struts». The Register . Получено 2 октября 2017 г. .
^ Гудин, Дэн (2 октября 2017 г.). «Серия задержек и крупных ошибок привела к масштабному взлому Equifax». Ars Technica . Получено 2 октября 2017 г.
^ Ньютон 2009, стр. 9, §1 Struts и гибкая разработка - Действия.