
Una solución de filtro de parámetros de solicitud para Struts 1 CVE-2014-0114 basada en el trabajo de Alvaro Munoz y el equipo de HP Fortify
Una solución de filtro de parámetros de solicitud para Apache Struts 1 CVE-2014-0114 basada en el trabajo de Alvaro Munoz y el equipo de HP Fortify.
Para usar este filtro, añade la siguiente declaración de filtro junto con el mapeo apropiado al descriptor web.xml de la aplicación Apache Struts 1 que se desea proteger:
<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>
El filtro incluye una expresión regular predeterminada para detectar nombres de parámetros dañinos, que puede sobrescribirse mediante configuración 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>
...
El filtro se publica en Maven Central. Usa la siguiente declaración de dependencia Maven para incorporarlo en tu proyecto (Ivy, Gradle y SBT según corresponda):
<dependency>
<groupId>net.rgielen</groupId>
<artifactId>struts1filter</artifactId>
<version>1.0.0</version>
</dependency>
También se puede descargar directamente. Usa el Central Repository Search con las coordenadas indicadas arriba para encontrar y descargar el jar.