将JS代码隐藏在图片中的方法

之前写过利用图片重写的方法清除图片中恶意代码的文章,java清除恶意代码 ,但这些图片中的恶意代码是怎么植入进去的呢,有简便方法,也有复杂方法。先来看如下这张图片,是Google的LOGO,是一张完全正常的png图片:

将JS代码隐藏在图片中的方法_第1张图片

用UltraEdit打开,一切正常,看不到其它JS代码,如下:

将JS代码隐藏在图片中的方法_第2张图片

下面是一段我们用来测试的JavaScript代码:

<script type="text/javascript">
   function writerJSToImage(){
      alert('hello shixing!');
   }
</script>
那么如何把这段代码写入该图片呢,其实只要用二进制模式下的拷贝就可以了,按照如下步骤:

1. 将准备好的 logo_cn.png 文件与需要植入的js文件放在C盘根目录下.

2. 打开CMD进入C盘根目录,执行 copy/b logo_cn.png+test.js new_logo.png,如下图(/b参数为以二进制方式拷贝)


3. 进入目录检查生成的new_logo.png文件,打开看看,图片可以显示如下图,表面看不出来什么异常:

将JS代码隐藏在图片中的方法_第3张图片

4. 用UltraEdit打开看看,发现多了一段代码,就是我们想要的结果,如下图:

将JS代码隐藏在图片中的方法_第4张图片

注意: 因为每种格式的文件类型,都有一定的规则,所以不能破坏描述文件格式的文件头部分,所以test.js文件只能放到拷贝命令的后面。

如果是linux系统则可以用如下命令:

cat logo_cn.png test.js>new_logo.png

比较复杂的方法可以参考以下文章:

将js/css脚本放到png图片中的实践: http://blog.csdn.net/zswang/article/details/7061560

在GIF图片中隐藏任意脚本的方法:http://www.huangwei.me/blog/2010/10/13/embed-script-inside-gif/




你可能感兴趣的:(JavaScript,java,linux,function,脚本,Google)