Categories: SeguridadVirus

Vulnerabilidad en el análisis de URL en Apache Tomcat

Apache Tomcat es un contenedor de servelts utilizado como implementación de referencia de las tecnologías de servlets Java y JSP (JavaServer Pages). Tomcat puede funcionar como servidor web independiente o bien integrado dentro de otros servidores web como el propio Apache, Netscape o incluso IIS. Existen actualmente varias ramas de desarrollo, siendo la versión 3.3.x la que se aconseja utilizar en entornos de producción, al ser la más estable.

Se ha descubierto la existencia de dos vulnerabilidades en las versiones anteriores a la 3.3.1 que pueden ser utilizadas por un atacante remoto para visualizar el contenido de directorios (independientemente de la existencia de un archivo índice) así como la visualización del contenido de archivos y directorios cuyo acceso en teoría está restringido. También puede utilizarse la vulnerabilidad para obtener el código fuente de los archivos JSP.

La vulnerabilidad radica en las comprobaciones que realiza Tomcat en las peticiones HTTP para determinar la posible existencia de caracteres nulos o barras invertidas (), lo que puede ser aprovechado por el atacante para saltarse los mecanismos de restricción de acceso y la protección del código fuente de los archivos JSP.

Una forma fácil de verificar si un servidor es vulnerable consiste en ejecutar esta orden, utilizando perl y netcat

$ perl -e print GET /x00.jsp HTTP/1.0rnrn; | nc servidor_web 8080

Si el servidor Tomcat es vulnerable, como resultado de esta petición obtendremos un listado de todos los archivos existentes en el directorio raíz del servidor (independientemente de la existencia de un archivo índice en dicho directorio).

El acceso a los archivos restringidos puede verificarse mediante

$ perl -e print GET /admin/WEB-INF\classes/ContextAdmin.javax00.jsp HTTP/1.0rnrn; | nc servidor_web 8080

(escribir la orden en una única línea).

Como respuesta a esta petición, el servidor web devolverá el contenido del archivo ContextAdmin.java

En lo que se refieren a la obtención del código fuente de los archivos JSP

$ perl -e print GET /examples/jsp/cal/cal1.jspx00.html HTTP/1.0rnrn; | nc servidor_web 8080

(escribir la orden en una única línea).

visualiza el código fuente del archivo cal1.jsp, uno de los ejemplos incluidos en la distribución de Tomcat.

Como puede observarse con los ejemplos incluidos, es realmente una tarea trivial aprovecharse de esta vulnerabilidad. Por tanto, conviene actualizar lo antes posible cualquier versión anterior de Tomcat 3.3.x a la nueva versión 3.3.1a.

Redacción

Recent Posts

Google paga 5.000 millones de dólares para resolver una demanda colectiva

Los usuarios denunciaban que la compañía los había rastreado incluso cuando usaban el modo privado…

4 meses ago

Las pymes valencianas pueden optar a ayudas de 5,5 millones de euros por proyectos de I+D

El Instituto Valenciano de Competitividad Empresarial financiará aquellas iniciativas que puedan solucionar incertidumbres científicas o…

4 meses ago

La guerra entre Israel y Gaza no acobarda a los inversores extranjeros de startups

Solo en el cuarto trimestre las empresas emergentes del país han levantado 1.500 millones de…

4 meses ago

Navarra ya cuenta con más de 80 startups

La región tiene 13 scaleups y destaca por sus empresas emergentes de salud y agrotech.

4 meses ago

Las startups valencianas progresaron adecuadamente en 2023

Valencia ha atraído en el primer semestre del año 30 millones de euros de inversión…

4 meses ago

El New York Times acusa a Open AI y Microsoft de infringir sus derechos de autor

El diario estadounidense demanda a las dos compañías tecnológicas por haber usado sus contenidos para…

4 meses ago