Attacchi per manipolazione d'URL Ataques por manipulação de URL Angriffe per Manipulation der URL Attaques par manipulation d'URL URL manipulation attacks

Introducción a las URL

La URL (Localizador Uniforme de Recursos) de una aplicación Web es el vector que permite indicar el recurso solicitado. Es una cadena de caracteres ASCII imprimibles dividida en cinco partes:

  • El nombre del protocolo: es, en cierta manera, el lenguaje que se usa para comunicarse en la red. El protocolo más usado es el HTTP (Protocolo de transferencia de hipertexto), que permite el intercambio de páginas Web en formato HTML. También pueden usarse otros protocolos (FTP, News, Mailto, etcétera).
  • Nombre de usuario y contraseña: permite especificar los parámetros requeridos para acceder a un servidor seguro. No se recomienda esta opción ya que la contraseña circula en la URL sin previa codificación.
  • El nombre del servidor: es el nombre de dominio de un ordenador que aloja el recurso solicitado. Tenga en cuenta que es posible usar la dirección IP del servidor.
  • El número de puerto: es el número asociado a un servicio que le indica al servidor qué tipo de recurso se está solicitando. El puerto que se vincula con el protocolo en forma predeterminada es el número 80. Cuando el servicio Web del servidor se asocia con este puerto, puede o no especificarse este número.
  • La ruta de acceso al recurso: esta última parte le indica al servidor dónde se encuentra el recurso, que generalmente es la ubicación (directorio) y el nombre del archivo solicitado.

Una URL tiene la siguiente estructura:

Protocolo Contraseña (opcional) Nombre del servidor Puerto
(opcional si es 80)
Ruta
http:// usuario:contraseña@ es.kioskea.net :80 /glossair/glossair.php3

La URL permite enviar parámetros al servidor colocando un signo de interrogación después del nombre del archivo y luego los datos en formato ASCII. Por lo tanto, una URL es una cadena de caracteres con el siguiente formato:

http://es.kioskea.net/forum/?cat=1&page=2

Manipulación de URL

Al manipular ciertas partes de una URL, un hacker puede hacer que un servidor Web le permita acceder a páginas Web a las que supuestamente no tenía acceso.

En sitios Web dinámicos, los parámetros generalmente se transfieren a través de la URL de la siguiente manera:

http://target/forum/?cat=2

La página Web crea automáticamente los datos contenidos en la URL y, al navegar normalmente, el usuario simplemente hace clic en el vínculo propuesto por el sitio. Si un usuario modifica el parámetro manualmente, puede probar diferentes valores, por ejemplo:

http://target/forum/?cat=6

Si el diseñador no ha previsto esta posibilidad, es posible que el hacker pueda tener acceso a un área que, en general, está protegida.

Además, puede hacer que la página Web procese un caso imprevisto, por ejemplo:

http://target/forum/?cat=***********
En el ejemplo anterior, si el diseñador de la página Web no ha previsto un caso donde los datos no estén representados por un número, la página Web puede entrar en un estado no previsto y brindar información en un mensaje de error.

Prueba y error

Posiblemente, un hacker pueda probar directorios y extensiones de archivos al azar para encontrar información importante. Algunos ejemplos clásicos:

  • Búsqueda de directorios para poder administrar el sitio:
    http://target/admin/ http://target/admin.cgi
  • Búsqueda de una secuencia de comandos para revelar información sobre el sistema remoto:
    http://target/phpinfo.php3
  • Búsqueda de copias de seguridad. Generalmente se usa la extensión .bak, la cual no es interpretada por los servidores de forma predeterminada, por lo que podría visualizarse una secuencia de comandos:
    http://target/.bak
  • Búsqueda de archivos ocultos en el sistema remoto. En los sistemas UNIX, se puede acceder a los archivos creados por el sistema a través de la Web siempre que el directorio raíz del página Web corresponda al directorio de un usuario:
    http://target/.bash_history http://target/.htaccess

Cruce de directorio

El ataque denominado cruce de directorio o cruce de ruta modifica la estructura de árbol de la ruta en la URL para hacer que el servidor tenga acceso a partes no autorizadas del sitio.

Un ejemplo típico es cuado el usuario se ve obligado a retroceder en la estructura de árbol, especialmente cuando no tiene acceso al recurso:

http://target/base/test/ascii.php3 http://target/base/test/ http://target/base/

En servidores vulnerables, el atacante simplemente puede retroceder por la ruta con varias cadenas de este tipo "../":

http://target/../../../../directory/file

Los ataques más avanzados codifican ciertos caracteres:

  • ya sea con la forma de codificación URL:
    http://target/..%2F..%2F..%2Fdirectory/file
  • o con la de notación Unicode:
    http://target/..%u2216..%u2216directory/file

Muchos sitios dinámicos transfieren los nombres de las páginas que se visualizarán como parámetros en una forma similar a la siguiente:

http://target/cgi-bin/script.cgi?url=index.htm

Si no se realizan verificaciones, un hacker pude modificar la URL de forma manual para solicitar acceso a un recurso de página Web al que no tiene acceso directo, por ejemplo:

http://target/cgi-bin/script.cgi?url=script.cgi

Contramedidas

Para proteger un servidor Web contra manipulaciones de URL, es necesario supervisar las vulnerabilidades y aplicar las actualizaciones que regularmente provee el editor del servidor Web.

Además, una configuración detallada del servidor Web impide que los usuarios naveguen por páginas a las que se supone que no tienen acceso. Por lo tanto, se debe configurar un servidor Web según se describe a continuación:

  • Impida la navegación por páginas que estén bajo la raíz del página Web (mecanismo chroot);
  • Deshabilite la visualización de los archivos de un directorio que no contiene un archivo índice ("Navegación de directorio");
  • Elimine directorios y archivos inservibles (incluso los ocultos);
  • Asegúrese de que el servidor proteja el acceso a directorios que contienen datos importantes;
  • Elimine las opciones de configuración innecesarias;
  • Asegúrese de que el servidor interprete las páginas dinámicas con precisión, incluso archivos de copias de seguridad (.bak);
  • Elimine los intérpretes de secuencias de comandos innecesarios;
  • Impida la visualización HTTP en páginas HTTPS accesibles.


Última actualización el jueves, 16 de octubre de 2008, 15:43:31 .Este documento intitulado « Ataques de manipulación de URL » de Kioskea (es.kioskea.net) esta puesto a diposición bajo la licencia Creative Commons. Puede copiar, modificar bajo las condiciones puestas por la licencia, siempre que esta nota sea visible.
Mejores respuestas para « Ataques de manipulación de URL » en :
Ataques de secuencia de comandos entre páginas Web (XSS) Ver Inyección de código malintencionado Los ataques por secuencias de comandos entre páginas Web (también conocidos como XSS o CSS) son ataques dirigidos a los páginas Web que muestran de forma dinámica el contenido de los usuarios sin verificar ni...
Ataques por manipulación de datos Ver La mayoría de los ataques de aplicaciones Web consisten en enviar a una página Web solicitudes con datos ingresados manualmente para generar un contexto inesperado. Parámetros de las aplicaciones Web El protocolo HTTP, un protocolo de comunicación en...
URL Ver ¿Qué es URL? URL (Localizador uniforme de recursos) es un formato de asignación de nombres universal, utilizado para indicar un recurso en Internet. Es una cadena de caracteres ASCII imprimible que se divide en cinco partes: el nombre del protocolo:...
Bajar videos de YouTube a la PC sin instalar ningún programa VerPara bajar videos de YouTube rápidamente sin necesidad de instalar ningún programa sigue estos pasos: Ve a YouTube, encuentra el video que deseas bajar y reprodúcelo para que puedas copiar su URL de la barra de direcciones. Entra a la página de...
[Favicon] Colocar un icono en la barra de direccciones VerQuizás hayas observado la presencia de un icono a la izquierda de la URL en la barra de direcciones del navegador. Algunas páginas web tienen asociadas estos iconos a ellas. Asociar este icono a tu página web es muy fácil. Crear un...
Instalar Internet Explorer 7 en XP SP3 VerInternet Explorer 7 (IE7) no se instala cuando el Service Pack 3 (SP3) está instalado. Por lo tanto es preferible instalar el SP3 después de IE7. Sin embargo, si el SP3 ya está instalado será necesario realizar ciertas manipulaciones en el...
Descargar Free YouTube To Mp3 Converter VerEste programa sirve para convertir desde cualquier video alojado en Youtube a un mp3 para tenerlo en algun dispositivo como un mp3 para usos personales El proceso es bastante simple, se pone la URL de el video al cual le queremos extraer la pista...
Ataque ping de la muerte VerAtaque ping de la muerte El ataque ping de la muerte es uno de los ataques de red más antiguos. El principio de este ataque consiste simplemente en crear un datagrama IP cuyo tamaño total supere el máximo autorizado (65.536 bytes). Cuando un paquete...
Ataque SYN VerAtaque SYN El "ataque SYN" (también denominado "inundación TCP/SYN") consiste en saturar el tráfico de la red (denegación de servicio) para aprovechar el mecanismo de negociación de tres vías del protocolo TCP. Dicho mecanismo permite que cualquier...
Introducción a los ataques VerIntroducción a los ataques Cualquier equipo conectado a una red informática puede ser vulnerable a un ataque. Un "ataque" consiste en aprovechar una vulnerabilidad de un sistema informático (sistema operativo, programa de software o sistema del...