Se ha descubierto un archivo de ejemplo dentro de Internet Information
Server (IIS), el servidor web de Microsoft para Windows NT, a través
del cual se puede visualizar cualquier archivo contenido en el sistema.
Como es habitual en cualquier programa, Internet Information Server
incluye una serie de archivos de ejemplo. De esta forma, adjunta una
colección de páginas web que muestran las posibilidades del código asp
y que sirven para que los desarrolladores de páginas web aprendan a
realizar aplicaciones web. Entre dichos ejemplos, se encuentra
«showcode.asp» diseñada para visualizar el código fuente de las
páginas a través de un navegador. Showcode.asp acepta el nombre de
una página web como parámetro, tras lo cual mostrará el código de la
página.
Pero la seguridad incorporada en «showcode.asp» no es la adecuada y
permite a cualquier usuario, a través de su navegador web visualizar
el contenido de cualquier fichero del servidor web, incluyendo los que
se encuentren fuera de la raiz de documentos del servidor.
Muchos webs comerciales mantienen logs e información de los compradores
como números de tarjetas de crédito, direcciones, etc en ficheros de
texto en el servidor. El atacante podrá tener acceso a este tipo de
datos, así como al código de las páginas web, en las cuales obtendrá
información referente al nombre de dichos archivos, de las bases de
datos, passwords, etc. Podrá tener incluso acceso al archivo de
passwords de Windows NT, con lo que se podría conseguir un acceso
total a la máquina.
Showcode.asp se instala por defecto en la URL:
http://www.servidor.com/msadc/Samples/SELECTOR/showcode.asp
y toma como parámetro el nombre del archivo a visualizar. El formato
de este argumento es: source=/ruta/nombre_archivo
Así, por ejemplo, para visualizar el código de showcode.asp basta con
hacer:
http://www.servidor.com/msadc/Samples/SELECTOR/showcode.asp?source=
/msadc/Samples/SELECTOR/showcode.asp
El ejemplo demuestra la peligrosidad del problema, es fácil consultar
el contenido del archivo. El autor de esta página añadió un chequeo de
seguridad de tal forma que sólo se visualizan aquellas páginas que se
encuentran por debajo del directorio «/msadc» del sistema. El problema
reside en que dicho análisis de seguridad no comprueba la inclusión en
la URL de los caracteres «..». Tan solo se verifica que la URL contenga
la cadena «/msadc/». Esto permite que se pueda ver cualquier fichero
fuera de los directorios de ejemplo.
Por ejemplo, una URL que visualice el archivo boot.ini que se encuentra
en el directorio raiz quedaría como sigue:
http://www.someserver.com/msadc/Samples/SELECTOR/showcode.asp?source=
/msadc/Samples/../../../../../boot.ini
Si se ha realizado una instalación por defecto del servidor web, será
fácil localizar el código de las páginas web así como de determinados
archivos vitales del sistema, como el archivo de passwords de NT. La
solución del problema pasa por eliminar completamente el directorio de
ejemplos «/msadc/», así como omitir la instalación de todos los
ejemplos al realizar la instalación de servidor.
Más información:
L0pht
Microsfot
Boletin Microsoft
Deja una respuesta