Content deleted Content added
reordered major sections, integrated useful stuff from Disadvantages to main article, removed opinions |
Patent citation |
||
(87 intermediate revisions by 63 users not shown) | |||
Line 1:
{{Short description|Microsoft Windows program}}
{{
| name = HTML Application (HTA)
| icon =
Line 7 ⟶ 8:
| screenshot =
| caption =
| extension =
| mime = application/hta
| typecode =
| uniform type =
| magic =
| owner = [[Microsoft]]
| released = <!-- {{Start date|YYYY|mm|dd|df=yes}} -->
Line 23 ⟶ 24:
| standard =
| free =
| url = {{URL|1=https://
}}
An '''HTML Application''' ('''HTA''') is a [[Microsoft Windows]] program whose source code consists of [[HTML]], [[Dynamic HTML]], and one or more scripting languages supported by [[Internet Explorer]], such as [[VBScript]] or
The usual file extension of an HTA is <code>.hta</code>.
The ability to execute HTAs was introduced to Microsoft Windows in 1999, along with the release of [[Microsoft Internet Explorer 5]].<ref>[http://support.microsoft.com/kb/200874 ''Article ID:200874 in Microsoft Support''], in Microsoft Support Knowledge Base</ref> On December 9, 2003, this technology was [[patent]]ed.<ref>
== Uses ==
HTAs give the developer the features of HTML together with the advantages of scripting languages. They are popular with Microsoft system administrators who use them for system administration from prototypes to "full-scale" applications, especially where flexibility and speed of development are critical.<ref
==Environment==
===Execution===
[[File:
▲[[File:HTA-Hello World example.png|thumb|300x300px|Screenshot of an example window produced by <code>mshta.exe</code>]]
An HTA is executed using the program <code>mshta.exe</code>, or, alternatively, double-clicking on the file. This program is typically installed along with Internet Explorer. <code>mshta.exe</code> executes the HTA by instantiating the Internet Explorer rendering engine (mshtml) as well as any required language engines (such as vbscript.dll).
An HTA is treated like any executable file with extension [[EXE|<code>.exe</code>]]. When executed via mshta.exe (or if the file icon is double-clicked), it runs immediately. When executed remotely via the browser, the user is asked once, before the HTA is downloaded, whether or not to save or run the application; if saved, it can simply be run on demand after that.<ref
By default, HTAs are rendered as per "standards-mode content in IE7 Standards mode and quirks mode content in IE5 (Quirks) mode", but this can be altered using <code>X-UA-Compatible</code> headers.<ref name=msintro>
HTAs are fully supported running in modes equivalent to Internet Explorer
===Security considerations===
{{main|Browser security}}
When a regular HTML file is executed, the execution is confined to the security model of the [[web browser]]
On the other hand, an HTA runs as a fully trusted application and therefore has more privileges than a normal HTML file; for example, an HTA can create, edit and remove files and [[Windows Registry|registry]] entries. Although HTAs run in this 'trusted' environment, querying [[Active Directory]] can be subject to Internet Explorer Zone logic and associated error messages.
==Development==
To customize the appearance of an HTA, an optional tag <code>hta:application</code> was introduced to the <code>HEAD</code> section. This tag exposes a set of attributes that enable control of border style, the program icon, etc., and provide information such as the argument (
Any text editor can be used to create an HTA. Editors with special features for developing HTML applications may be obtained from Microsoft<ref>[http://www.microsoft.com/downloads/details.aspx?FamilyId=231D8143-F21B-4707-B583-AE7B9152E6D9&displaylang=en ''HTA Helpomatic'']</ref> or from third-party sources.<ref>[http://www.htaedit.com/ ''HTAEdit, an editor for HTAs with a built-in debugger'']</ref>
An existing HTML file (with file extension <code>.htm</code> or <code>.html</code>, for example) can be changed to an HTA by simply changing the extension to <code>.hta</code>.
==Vulnerabilities==
HTA have been used to deliver malware.<ref>{{Cite web|url=https://www.vmray.com/cyber-security-blog/spora-ransomware-dropper-hta-infect-system/|title=Spora Ransomware Dropper Uses HTA to Infect System|date=2017-01-17|website=VMRay|language=en-US|access-date=2018-12-22}}</ref><ref>{{Cite web|url=https://blog.netwrix.com/2017/06/01/nine-scariest-ransomware-viruses/|title=8 Scariest Ransomware Viruses|language=en-US|access-date=2018-12-22}}</ref> One particular HTA, named ''[[4chan]].hta'' (detected by antiviruses as JS/Chafpin.gen), was widely distributed by the users of the imageboard as a [[steganographic]] image in which the user were instructed to download the picture as an HTA file, which when executed, would cause the computer to automatically spam the website (evading 4chan's [[CAPTCHA]] in the process) with alternate variants of itself; it was reported that such attacks were previously delivered in which the user was prompted to save it as a [[JavaScript|.js]] file.<ref>{{cite web |last1=Constantin |first1=Lucian |title=4chan Flood Script Is Back with New Social Engineering Trick |url=https://news.softpedia.com/news/4chan-Flood-Script-Is-Back-with-New-Social-Engineering-Trick-151603.shtml |website=Softpedia |access-date=2021-11-09 |date=2010-08-10}}</ref>
==Example==
This is an example of [["Hello, World!" program|Hello World]] as an HTML Application.
<
<HTML>
<HEAD>
<HTA:APPLICATION ID="HelloExample"
BORDER="
BORDERSTYLE="complex"/>
<TITLE>HTA - Hello World</TITLE>
Line 79 ⟶ 81:
</BODY>
</HTML>
</syntaxhighlight>
== See also ==
*[[Adobe AIR]]
*[[Active Scripting]]
*[[Apache Cordova]]
*[[Chromium Embedded Framework]]
*[[Electron (software framework)]]
*[[Firefox OS]]
*[[
*[[XAML Browser Applications]] (XBAPs)
*[[XUL]] and [[XULRunner]] - a language and environment for Mozilla cross-platform applications that resembles the mechanism of HTML Applications.
*[[Windows Script Host]]
==References==
{{
==External links==
* [http://msdn2.microsoft.com/en-us/library/ms531018.aspx HTML Component (HTC) Reference at MSDN]. An HTC encapsulates specific functionality or behavior within HTAs.
* [
* [
{{Internet Explorer}}
[[Category:
[[Category:Internet Explorer]]
[[Category:
[[Category:Widget engines]]
|