В последнее время стойки исправили уязвимость, позволяющую злоумышленникам выполнять удаленный код. По-видимому, не латать это как давать черные цилиндры красного ковер прием с подножкой: -/Struts 2 S2-016 Смягчение последствий для уязвимостей до обновления
http://struts.apache.org/release/2.3.x/docs/s2-016.html
В основном это позволяет выполнять команды атаки, как это:
Legit действие: http://host/struts2-showcase/employee/save.action?redirect:%25{3*4}
Exploited действия: http://host/struts2-showcase/employee/save.action?redirect:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{'command','goes','here'})).start()}
Хотя я знаю, что обновление должно быть выполнено как можно скорее, как можно скорее будет означать некоторое время, так как наша база кода использует старые версии расположений и плагины.
Что потребует некоторого рефакторинга обновить распорки 2 библиотеки, то эти должен быть проверен и т.д.
Моего вопроса для этого есть кто-то, есть ли какие-либо идеи, чтобы остановить эту уязвимость от выполняются? Это будет только до тех пор, пока мы не сможем обновиться.
Мне было интересно, возможно ли писать перехватчик для дезинфекции URL-адреса перед его оценкой против OGNL, и если это так смягчит эту проблему?
Другая идея, которую я имел, заключалась в том, чтобы как-то использовать диспетчера безопасности Java, чтобы остановить произвольные вызовы процессов, возможно ли это? Будет ли он патч отверстие временное?
Используется сервер jBoss, если кто-то считает это актуальным.
У вас есть некоторые сервер перед вашим jBoss, возможно, apache? Как насчет ограничения доступа к определенным uri-s в нем. –
Вы имеете в виду что-то вроде балансировщика нагрузки или брандмауэра с возможностями ограничения URL? – Thihara
Это или обратный прокси, например Apache. –