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 Silicon

La redacción de Silicon está compuesta por profesionales del periodismo 2.0

Recent Posts

Microsoft abre en España un nuevo Hub de Ventas Digitales para EMEA

Este Digital Sales Center se ubica en Barcelona y se une a los que ya…

15 horas ago

Fundación ONCE e Ibermatica Fundazioa promoverán el empleo de personas con discapacidad

Han firmado un Convenio Inserta que contempla la ejecución de programas de prácticas e iniciativas…

16 horas ago

Wildix tiene nuevos CIO, CTO y CPO

Esta renovación del equipo directivo busca expandir la presencia de la compañía y acelerar la…

17 horas ago

Las 6 grandes amenazas para la seguridad de las empresas en 2025

Desde el phishing hasta los ataques potenciados por inteligencia artificial, son varios los frentes que…

17 horas ago

Quantum IoT Protect Nano Agent de Check Point Software se integra en los SoM de Variscite

La alianza entre Check Point Software y Variscite ayudará a a los desarrolladores a asegurar…

18 horas ago

José Luis Casal asume la dirección general de Industry X by CIONET

Este 'spin-off' de CIONET Spain quiere convertirse en punto de encuentro para los profesionales de…

19 horas ago