
Alvaro Munoz와 HP Fortify 팀의 작업을 기반으로 한 Struts 1 CVE-2014-0114를 위한 요청 파라미터 필터 솔루션
Apache Struts 1의 CVE-2014-0114에 대한 요청 파라미터 필터 솔루션으로, Alvaro Munoz와 HP Fortify 팀의 작업을 기반으로 합니다.
이 필터를 사용하려면 보호하려는 Apache Struts 1 애플리케이션의 web.xml 설명자에 다음 필터 선언과 적절한 매핑을 추가하십시오:
<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>
필터에는 유해한 파라미터 이름을 매칭하기 위한 기본 정규 표현식이 포함되어 있으며, 명시적 구성을 통해 재정의할 수 있습니다:
<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>
...
이 필터는 Maven Central에 릴리스되었습니다. 다음 Maven 종속성 선언을 사용하여 프로젝트에 포함시키십시오 (Ivy, Gradle 및 SBT도 동일합니다):
<dependency>
<groupId>net.rgielen</groupId>
<artifactId>struts1filter</artifactId>
<version>1.0.0</version>
</dependency>
직접 다운로드할 수도 있습니다. 위에 제공된 좌표로 중앙 저장소 검색을 사용하여 jar를 찾고 다운로드하십시오.