`

mshta简介

阅读更多

mshta.exe,HTML Application HOST,HTML应用程序主机,hta文件解释器(也能解释html),就如同IE是html的解释器,CMD是批处理文件的解释器,WScript.exe、CScript.exe是vbs/js脚本的解释器。

mshta的命令行参数似乎并未公开,mshta /? 等方式得不到任何帮助信息。大家如果感兴趣可以去csdn或微软的msdn查查。
从网上我仅找到一个带参数的用法:mshta.exe /register,应该是用来注册mshta的某项功能(具体作用未知)。

mshta在一般的应用中都不需要什么特别的参数,如:
mshta C:\test.hta
mshta "%cd%\test.html"
mshta http://www.google.com.hk
mshta about:blank
mshta vbscript:alert("hello")(window.close)
mshta vbscript:msgbox("是否确定?",36,"确认")(window.close)
mshta javascript:alert('hello');window.close();
mshta vbscript:CreateObject("Shell.Application").MinimizeAll()(close)

注意,最后几例中的vbscript、javascript不是mshta自身的参数,而是一种协议,它同样可以直接在IE的地址栏中输入。这种协议使得IE、mshta等程序可以直接执行vbs/js语句而不需要将vbs/js语句放在html文件中。vbs/js语句当然要遵循vbs/js语法,照样使用vbs/js的各种对象、方法、属性、函数等,调用脚本宿主对象模型中的WScript.Shell、WScript.Network等(注意它们并不从属于vbs,要弄清楚它们的主人),还能调用脚本运行时对象(fso、dictionary等)及其他可以被Automation的COM组件(如Word.Application)。上面的msgbox就是vbs的函数,Shell.Application就是一个Automation类。
由于hta其实也就是html,所以在hta文件中同样可以使用HTML DOM(文档对象模型),如window、document等各种对象。上面的alert、close就是Window对象的方法。也可以调用ActiveX控件、asp对象,等等。

还是因为hta就是html,运行hta的mshta.exe是HTML应用程序主机,所以用mshta vbscript: 、mshta javascript: 等形式运行vbs/js语句时,不能调用WScript对象,因为WScript对象是脚本宿主(WSH)自身提供的对象(根对象),只有脚本主机WScript.exe、CScript.exe才能使用,mshta、IE这些解释器无法调用。很多脚本初学者人误以为WScript、WScript.Shell、WScript.Network甚至FSO等对象是vbs的对象,现在清楚事实了吧。所以使用WScript.Sleep方法是理所当然行不通的。但要延时我们可以用Window对象的setTimeout方法,参见:mshta调用setTimeout方法实现精确延时

由于hta被设计用于本地运行,所以权限比html高。用mshta打开html也比用IE打开能获得更高的权限。所以本机上的HTML文件中如果调用WScript.Shell等本地对象,用IE打开会出现安全警告(提示有“活动内容”什么的),用mshta打开一般就不会有任何提示和警告了。  (已迁移)

                                     转自(http://hi.baidu.com/nxhujiee/blog/item/170ed233020e1b49ac4b5f2b.html)

分享到:
评论

相关推荐

    第七十五课:基于白名单Mshta.exe执行payload第五季.docx

    本知识点主要涉及的是利用白名单漏洞,通过Mshta.exe来执行payload,这是一种常见的高级持续性威胁(APT)攻击技术。Mshta.exe是Windows操作系统中的一个组件,用于执行HTML应用程序(HTA),它允许本地运行HTML和...

    mshta.exe

    mshta

    mshta.exe.mui

    mshta.exe

    利用mshta调用运行js或vbs的

    在这个场景中,`mshta` 被用来调用JavaScript(JS)和Visual Basic Script(VBS)脚本进行交互。这种技术常见于系统管理和自动化任务中,因为它们可以方便地执行一些简单的脚本操作,如显示消息框、读写文件等。 在...

    37.远控免杀专题(37)-白名单Mshta.exe执行payload(VT免杀率26-58)1

    远控免杀专题(37)-白名单Mshta.exe执行payload(VT免杀率26-58)1】 本文主要探讨的是如何利用白名单程序Mshta.exe来执行payload,以实现绕过杀毒软件的检测,从而达到免杀的效果。Mshta.exe是微软Windows操作系统中...

    网页上最酷的弹出窗口(对话框)脚本

    网页上最酷的弹出窗口(对话框)脚本网页上最酷的弹出窗口(对话框)脚本

    HTML,BAT模板.rar_bat_js_vbs_混编模板及实例

    JavaScript(JS)则是一种广泛用于Web开发的脚本语言,主要用于客户端的网页交互,但在这里,我们谈论的是在非浏览器环境中使用JS,如通过MSHTA(Microsoft HTML Application)来运行。MSHTA是Windows提供的一种方式...

    bat、vbs、js 原生混编(一个bat可以执行vbs,js代码)

    然而,MSHTA提供了对`setTimeout`、`iframe`、DOM操作、JavaScript和VBScript的无缝交互、Ajax、加载外部脚本、文件选择对话框以及复杂的页面交互等原生支持,这使得它在某些场景下极具优势。 了解了这个技巧,我们...

    Windows Bat脚本-快速切换Java版本

    功能简介: 该批处理脚本允许用户在多个JDK版本之间进行切换,并设置所选版本的JAVA_HOME环境变量,以便用户可以轻松切换不同的Java开发环境。 实现细节: 获取管理员权限: 在脚本开头,使用mshta命令获取管理员...

    hta假蓝屏(已编译,无乱码,带解药)

    解药部分提到,如果用户不幸运行了这个假蓝屏程序,可以通过同时按下键盘上的Windows键和D键来显示桌面,然后打开名为MSHTA.exe的文件,这通常是一个反制措施或者说是解除这种假蓝屏的方法。 标签“假蓝屏”直接...

    windows后台执行BAT程序

    mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit :begin ``` - **代码解析**: - `@echo off`:关闭命令回显,即在执行时不会显示后续命令行。 - `if "%1" == "h" goto ...

    浩海网络多格式播放器V3.8.3.rar_javascript_readXML.js

    在播放器中,`mshta.exe`可能被用作一个载体,帮助执行JavaScript代码或者加载特定的HTA组件,以提供额外的功能或增强安全性。 综上所述,浩海网络多格式播放器V3.8.3通过JavaScript和XML技术,构建了一个灵活且...

    浩海网络多格式播放器V396-CZ.RAR

    不过,需要注意的是,mshta.exe 也可能成为恶意软件利用的目标,因此保持软件的更新和安全设置的谨慎是必要的。 在使用浩海网络多格式播放器V396时,用户应该确保下载来源的可靠性,以防止安装携带病毒或恶意代码的...

    弹出和关闭光驱程序,很好

    strCommand = "mshta vbscript:Execute(""CreateObject(""WScript.Shell"").Run ""cmd /c eject"", 0, True"")" Shell strCommand End Sub ``` 这段代码通过`mshta.exe`运行VBS脚本,调用`WScript.Shell`对象的`...

    CMD命令行中以管理员权限启动应用程序实现方法

    - `%1 mshta vbscript:`:这里的`%1`是一个参数,用于接收外部输入,`mshta vbscript:`则是调用MSHTA程序并执行VBScript代码。 - `CreateObject("Shell.Application").ShellExecute`:创建一个Shell.Application...

    基于python开发的基于Windows平台API语音接口的语音管家

    ('mshta vbscript:createobject("sapi.spvoice").speak("Apagando las luces")(window.close)') 【资源声明】:本资源作为“参考资料”而不是“定制需求”,代码只能作为参考,不能完全复制照搬。需要有一定的...

    自动以管理员身份运行批处理bat文件(vbs与bat两种方法)

    mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :runas","","runas",1) (window.close) & goto :eof :runas ::填写自己的脚本 echo 执行完毕,任意键退出 pause >nulexit ``` 这个bat...

Global site tag (gtag.js) - Google Analytics