Cross-zone scripting

Una secuencia de comandos cruzados o Cross-zone scripting es un exploit del navegador que aprovecha una vulnerabilidad dentro de una solución de seguridad basada en zonas. El ataque permite que el contenido (scripts) en zonas no privilegiadas se ejecute con los permisos de una zona privilegiada, es decir, una escalada de privilegios dentro del cliente (navegador web) que ejecuta el script.

  • Un error del navegador web que bajo algunas condiciones permite que el contenido (scripts) de una zona se ejecute con los permisos de una zona de mayor privilegio.
  • Un error de configuración del navegador; sitios inseguros listados en zonas privilegiadas.
  • Una vulnerabilidad de secuencia de comandos en sitios cruzados dentro de una zona privilegiada.

Un escenario de ataque común implica dos pasos. El primer paso es usar una vulnerabilidad de scripts de zonas cruzadas para conseguir que los scripts se ejecuten dentro de una zona privilegiada. Para completar el ataque, luego se realizan acciones maliciosas en la computadora usando componentes ActiveX inseguros.

Este tipo de vulnerabilidad ha sido explotado para instalar silenciosamente varios programas maliciosos (como spyware, software de control remoto, gusanos y otros) en computadoras que navegan en una página web maliciosa.

Orígenes del concepto de zona

Hay cuatro zonas bien conocidas en Internet Explorer:

  • Internet. La zona por defecto. Todo lo que no pertenece a otras zonas.
  • Intranet local.
  • Sitios de confianza. Normalmente se utiliza para enumerar los sitios de confianza a los que se permite ejecutar con permisos de seguridad mínimos (por ejemplo, ejecutar objetos ActiveX no seguros y no firmados).
  • Sitios restringidos.

Estas zonas se explican en detalle en "Cómo utilizar las zonas de seguridad en Internet Explorer".[1]

También hay una zona oculta adicional:

  • Ordernador local (o zona de mi ordenador). Esta zona es particularmente interesante porque puede acceder a los archivos del ordenador local. Históricamente esta zona ha sido extremadamente insegura, pero en las versiones recientes de Internet Explorer (para Windows XP) se han tomado medidas para reducir los riesgos asociados a la zona.

La intranet local, los sitios de confianza y el ordenador local suelen estar configurados como zonas privilegiadas. La mayoría de los ataques de scripts de zonas cruzadas están diseñados para saltar de una zona de Internet a una zona privilegiada.

Ejemplos

En la zona de la computadora local

Este tipo de exploit intenta ejecutar el código en el contexto de seguridad de la Zona Informática Local.

El siguiente HTML se utiliza para ilustrar un intento de explotación ingenuo (no efectivo):

<!DOCTYPE html>
<html>
<body>
<img src="attack.gif">
<script src="file://C:\Documents and Settings\Administrator\
         Local Settings\Temporary Internet Files\attack.gif">
</body>
</html>

Explicación: el código HTML intenta que attack.gif se cargue en la caché utilizando una referencia IMG SRC. Luego se usa una etiqueta SCRIPT SRC para intentar ejecutar el script desde la Zona de Computación Local dirigiendo el archivo local en el caché.

En la zona de la intranet local

  • Un atacante podría (de alguna manera) saber de una vulnerabilidad XSS en http://intranet.example.com/xss.php
  • Muchos usuarios de http://intranet.example.com visitan regularmente http://www.example.com/, donde cualquiera puede añadir enlaces interesantes.
  • El atacante añade un enlace a:
http://intranet.example.com/xss.php?<script>alert()</script>

Una computadora que considera intranet.example.com como parte de la zona de Intranet local, ahora será exitosamente escrita en una zona cruzada.

En la zona de sitios de confianza

Un ejemplo muy conocido es el error %2f de Internet Explorer 6. Se descubrió que la siguiente URL

http://windowsupdate.microsoft.com%2f.example.com/

ejecutado con permiso de "Sitios de confianza" si windowsupdate.microsoft.com estaba listado como un sitio de confianza.

Referencias

Enlaces externos

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.