
Eine Request-Parameter-Filterlösung für Struts 1 CVE-2014-0114 basierend auf der Arbeit von Alvaro Munoz und dem HP Fortify-Team
Eine Lösung für Anfrageparameterfilter für Apache Struts 1 CVE-2014-0114 basierend auf der Arbeit von Alvaro Munoz und dem HP Fortify Team.
Um diesen Filter zu verwenden, fügen Sie die folgende Filterdeklaration zusammen mit einer entsprechenden Zuordnung zur web.xml-Descriptor der zu schützenden Apache Struts 1-Anwendung hinzu:
<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>
Der Filter wird mit einem standardmäßigen regulären Ausdruck geliefert, der schädliche Parameternamen erkennt, der durch explizite Konfiguration überschrieben werden kann:
<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>
...
Der Filter wird über Maven Central veröffentlicht. Verwenden Sie die folgende Maven-Abhängigkeitsdeklaration, um ihn in Ihr Projekt einzubinden (Ivy, Gradle und SBT entsprechend):
<dependency>
<groupId>net.rgielen</groupId>
<artifactId>struts1filter</artifactId>
<version>1.0.0</version>
</dependency>
Er kann auch direkt heruntergeladen werden. Verwenden Sie die Central Repository Suche mit den oben angegebenen Koordinaten, um die Jar-Datei zu finden und herunterzuladen.