是否可以执行存储在.jpeg文件中的脚本?

时间:2019-06-05 05:58:00

标签: image assembly jpeg

我们的“道德黑客选修课”中的期末项目要求我们创建一个.jpeg文件,并带有一个脚本,该脚本会在打开jpeg时自动运行。最好是使用普通的图像查看器,但是可以提及其他可以实现此目的的图像查看软件。

这可能吗? 我应该使用哪种编程语言来做到这一点? 我使用了Assembly标签,因为我认为可以在该级别更改图像文件的代码,但这只是我的推测,我希望有人可以解释一下。

我在线上看到了一些教程,内容涉及如何使用WinRar在图像文件中隐藏.txt文件以及如何将.exe文件伪装成看起来像图像文件。但是我需要文件为.jpeg格式。

我希望可以这样做,但这是我所想到的链接。 Security Stackexchange

2 个答案:

答案 0 :(得分:0)

有两种方法。 (1)您必须找到一些带有funkadelic安全漏洞的Jpeg解码器。

(2)您可以创建一个扩展名为.jpeg的非jpeg流,并尝试使您的操作系统将其作为脚本执行。

答案 1 :(得分:-1)

是的,有可能。我亲自创建了媒体文件,当它们包含在src标签的<script>中时,它们可以运行JS。我最喜欢的示例是我提取了Risk Astley的 Never Gonna Give Up 的MP4并对其进行了小幅修改,以包含JS,从而可以利用该JS将浏览器重定向到YouTube上的该视频。还有与I made available here相同的歌曲的MP3。

以下是有关GIF的文章:GIF/Javascript Polyglots

注意: polyglot 是一种以多种语言运行的程序。

如果搜索“ polyglot js图像”,则有很多文章可用。

这是最近的一个:https://devcondetect.com/blog/2019/2/24/hacking-group-using-polyglot-images-to-hide-malvertsing-attacks


因此,如果通过HTML加载图像算作图像查看软件,那您就很好了(假设HTML使用脚本标签加载图像,这不是一个好主意),但是还有许多其他媒介这样的多语种可能会产生漏洞。