
Uma solução de filtro de parâmetros de requisição para Struts 1 CVE-2014-0114 baseada no trabalho de Alvaro Munoz e da equipe HP Fortify.
Uma solução de filtro de parâmetros de requisição para Apache Struts 1 CVE-2014-0114 baseada no trabalho de Alvaro Munoz e a equipe HP Fortify.
Para usar este filtro, adicione a seguinte declaração de filtro juntamente com o mapeamento apropriado no descritor web.xml da aplicação Apache Struts 1 a ser protegida:
<filter>
<filter-name>ParamWrapperFilter</filter-name>
<filter-class>net.rgielen.struts1.filter.ParamWrapperFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>ParamWrapperFilter</filter-name>
<servlet-name>YOUR ACTION SERVLET</servlet-name>
</filter-mapping>
O filtro vem com uma expressão regular padrão para corresponder a nomes de parâmetros prejudiciais, que pode ser substituída por uma configuração explícita:
<filter>
<filter-name>ParamWrapperFilter</filter-name>
<filter-class>net.rgielen.struts1.filter.ParamWrapperFilter</filter-class>
<init-param>
<param-name>excludeParams</param-name>
<param-value>(.*\.|^|.*|\[('|"))(c|C)lass(\.|('|")]|\[).*</param-value>
</init-param>
</filter>
...
O filtro é lançado no Maven Central. Use a seguinte declaração de dependência Maven para incorporá-lo em seu projeto (Ivy, Gradle e SBT de acordo):
<dependency>
<groupId>net.rgielen</groupId>
<artifactId>struts1filter</artifactId>
<version>1.0.0</version>
</dependency>
Também pode ser baixado diretamente. Use a busca do Repositório Central com as coordenadas fornecidas acima para encontrar e baixar o jar.