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

Humanoides en la plantilla y otras tendencias para el año que viene

Cisco comparte una lista con los cinco fenómenos tecnológicos que prevé que marcarán el rumbo…

5 horas ago

Los CIO, desarrolladores de front-end y científico de datos, entre los perfiles mejor pagados del sector tecnológico

Los profesionales de tecnología de la información, telecomunicaciones y comercio electrónico reciben un salario de…

6 horas ago

Konica Minolta muestra las capacidades de su solución de gestión documental Waidok

Ha reunido a directivos de diferentes sectores en Madrid para presentar esta herramienta basada en…

7 horas ago

Making Science lanza la división tecnológica Raising

Pensada para potenciar las estrategias de marketing con inteligencia artificial, incluye herramientas como ad-machina, Gauss…

8 horas ago

NVIDIA lanza un superordenador compacto y asequible para IA generativa

Jetson Orin Nano Super Developer Kit proporciona una plataforma potente para entrenar y perfeccionar herramientas…

8 horas ago

4 de cada 10 profesional ya redactan sus currículos con ayuda de la IA

Esta popularización de la inteligencia artificial pone en valor la parte humana de fases posteriores,…

9 horas ago