Cómo detectar vulnerabilidades de ejecución de código de struts
Descripción de la vulnerabilidad:
CVE-2013-225. Struts2 es la segunda generación del marco de aplicaciones web de nivel empresarial Java basado en el modelo Modelo-Vista-Controlador (MVC). Es el producto de la fusión de las comunidades WebWork y Struts.
Los parámetros de prefijo action:, redirección: y redirecciónAcción: de Apache Struts2 utilizan expresiones Ognl en el proceso de realizar sus funciones, y el usuario las envía a través de la URL. El contenido se empalma en expresiones Ognl, lo que permite a los atacantes ejecutar código Java arbitrario mediante la construcción de URL maliciosas y luego ejecutar comandos arbitrarios.
redireccionar: y redirigirAcción: Estos dos prefijos son las funciones habilitadas predeterminadas de Struts. esta vulnerabilidad existe en versiones de Struts inferiores a 2.3.15.1
En la actualidad, Apache Struts2 ha parcheado esta vulnerabilidad en 2.3.15.1. Se recomienda encarecidamente a los usuarios de Apache Struts2 que comprueben si se ven afectados por este problema y actualicen a la última versión lo antes posible
lt Referencia
1. p>Si la página redirige a www.yahoo.com, indica que el sistema actual está afectado por esta vulnerabilidad.
Verificar el análisis de expresiones y la ejecución de comandos:
mand', 'goes', 'here'})).start()}`
Recomendación de seguridad de Sebug :
Estado del fabricante:
El fabricante ha lanzado Apache Struts 2.3.15.1 para solucionar esta vulnerabilidad de seguridad. Se recomienda que los usuarios de Struts actualicen a la última versión a tiempo.
Boletín de seguridad del fabricante: S2-01 Enlace: http://struts.apache.org/release/2.3.x/docs/s2-016.html
Página de actualización de software. :http://struts.apache.org/download.cgi#struts23151
Empresas que actualmente tienen vulnerabilidades
En la nube oscura, se han liberado casi 60 vulnerabilidades de struts, incluida Tencent. , Baidu, NetEase, JD.com y otras importantes empresas nacionales de Internet. (http://www.wooyun.org/bugs/new_submit/)
Solución:
Actualizar a Struts 2.3.15.1 (muy recomendable)
Uso ServletFilter para filtrar parámetros problemáticos (solución de reemplazo temporal)
Materiales de referencia:
La vulnerabilidad que estalló en struts esta vez afectó a una gran cantidad de sitios web y el impacto más grave fue su Comercio electrónico Con respecto a las vulnerabilidades de struts, también he escrito sobre las vulnerabilidades de ejecución de código de struts2. Dado que struts2 usa expresiones OGNL, a menudo se han informado algunas vulnerabilidades terribles. ¡Se recomienda que aquellos que todavía son estudiantes de struts aprendan algunos! Por ejemplo, Spring MVC, simple, fácil de usar y eficiente.