Aplicación HTML
# Aplicación HTML

    Este artículo se refiere a la implementación de HTA patentada por Microsoft. Para obtener información sobre el manifiesto de caché de HTML5, también denominado aplicaciones HTML sin conexión, consulte el manifiesto de caché en HTML5.

Una aplicación HTML (HTA) es un programa de Microsoft Windows cuyo código fuente consta de HTML, HTML dinámico y uno o más lenguajes de secuencias de comandos compatibles con Internet Explorer, como VBScript o JScript. El HTML se usa para generar la interfaz de usuario y el lenguaje de programación se usa para la lógica del programa. Una HTA se ejecuta sin las limitaciones del modelo de seguridad del navegador de Internet; de hecho, se ejecuta como una aplicación "de plena confianza".

La extensión de archivo habitual de una HTA es .hta.

La capacidad de ejecutar HTA se introdujo en Microsoft Windows en 1999, junto con el lanzamiento de Microsoft Internet Explorer 5. El 9 de diciembre de 2003 se patentó esta tecnología.

## Usos

Las HTA brindan al desarrollador las características de HTML junto con las ventajas de los lenguajes de secuencias de comandos. Son populares entre los administradores de sistemas de Microsoft que los utilizan para la administración de sistemas, desde prototipos hasta aplicaciones "a gran escala", especialmente donde la flexibilidad y la velocidad de desarrollo son críticas.

## Entorno

### Ejecución

Una HTA se ejecuta utilizando el programa mshta.exe o, alternativamente, haciendo doble clic en el archivo. Este programa normalmente se instala junto con Internet Explorer. mshta.exe ejecuta la HTA creando instancias del motor de renderizado de Internet Explorer (mshtml) así como de cualquier motor de lenguaje requerido (como vbscript.dll).

Una HTA se trata como cualquier archivo ejecutable con extensión .exe. Cuando se ejecuta a través de mshta.exe (o si se hace doble clic en el icono del archivo), se ejecuta inmediatamente. Cuando se ejecuta de forma remota a través del navegador, se pregunta al usuario una vez, antes de descargar la HTA, si desea guardar o ejecutar la aplicación; si se guarda, simplemente se puede ejecutar bajo demanda después de eso.

De forma predeterminada, las HTA se representan según "contenido en modo estándar en el modo Estándar IE7 y contenido en modo peculiar en modo IE5 (Quirks)", pero esto se puede modificar utilizando encabezados X-UA-Compatible con X-UA-Compatible .

El motor HTA (mshta.exe) depende de Internet Explorer. A partir de Windows Vista, un usuario puede eliminar Internet Explorer de Windows, lo que hará que el motor HTA deje de funcionar.

Las HTA son totalmente compatibles con Internet Explorer desde las versiones 5 a 9. Otras versiones, como la 10 y la 11, aún admiten HTA, aunque con algunas funciones menores desactivadas.

### Consideraciones de Seguridad

Cuando se ejecuta un archivo HTML normal, la ejecución se limita al modelo de seguridad del navegador web. Esto significa que se limita a comunicarse con el servidor, manipular el modelo de objetos de la página (generalmente para validar formularios y/o crear efectos visuales interesantes) y leer o escribir cookies.

Por otro lado, una HTA se ejecuta como una aplicación de plena confianza y, por lo tanto, tiene más privilegios que un archivo HTML normal; por ejemplo, una HTA puede crear, editar y eliminar archivos y entradas de registro. Aunque las HTA se ejecutan en este entorno de "confianza", la consulta de Active Directory puede estar sujeta a la lógica de la zona de Internet Explorer y los mensajes de error asociados.

## Desarrollo

Para personalizar la apariencia de una HTA, se introdujo una etiqueta opcional hta:application en la sección HEAD. Esta etiqueta expone un conjunto de atributos que permiten el control del estilo del borde, el icono del programa, etc., y proporcionan información como el argumento (línea de comando) utilizado para iniciar la HTA. De lo contrario, una HTA tiene el mismo formato que una página HTML.

Se puede utilizar cualquier editor de texto para crear una ETS. Los editores con características especiales para desarrollar aplicaciones HTML pueden obtenerse de Microsoft o de fuentes de terceros.

Un archivo HTML existente (con extensión de archivo .htm o .html, por ejemplo) se puede cambiar a una HTA simplemente cambiando la extensión a .hta.

## Vulnerabilidades

Se han utilizado HTA para distribuir malware, entre ellos el ransomware Spora.

## Ejemplo

Este es un ejemplo de Hola mundo como una aplicación HTML:

