
Une solution de filtrage des paramètres de requête pour Struts 1 CVE-2014-0114 basée sur le travail d'Alvaro Munoz et de l'équipe HP Fortify.
Une solution de filtrage des paramètres de requête pour Apache Struts 1 CVE-2014-0114 basée sur le travail de Alvaro Munoz et l'équipe HP Fortify.
Pour utiliser ce filtre, ajoutez la déclaration de filtre suivante accompagnée du mappage approprié au descripteur web.xml de l'application Apache Struts 1 à protéger :
<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>
Le filtre est livré avec une expression régulière par défaut pour détecter les noms de paramètres dangereux, qui peut être remplacée par une configuration explicite :
<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>
...
Le filtre est publié sur Maven Central. Utilisez la déclaration de dépendance Maven suivante pour l'intégrer dans votre projet (Ivy, Gradle et SBT de manière équivalente) :
<dependency>
<groupId>net.rgielen</groupId>
<artifactId>struts1filter</artifactId>
<version>1.0.0</version>
</dependency>
Il peut également être téléchargé directement. Utilisez la recherche du référentiel central avec les coordonnées fournies ci-dessus pour trouver et télécharger le jar.